Để xóa phần tử hoặc giá trị đầu tiên khỏi một mảng, hàm array_shift[] được sử dụng. Hàm này cũng trả về phần tử bị loại bỏ của mảng và trả về NULL nếu mảng trống. Sau khi loại bỏ phần tử đầu tiên, khóa của các phần tử khác được sửa đổi và một lần nữa mảng được đánh số từ đầu, chỉ khi các khóa là số
Nó là một hàm mảng sẵn có của PHP, nó dịch chuyển một phần tử từ đầu mảng
Giá trị trả về
Hàm array_shift[], được sử dụng để xóa phần tử đầu tiên khỏi một mảng, trả về phần tử đã xóa. Nó cũng trả về NULL, nếu mảng trống
Ví dụ. Sử dụng các phần tử chuỗi
đầu ra
Một phần tử "Xanh lam" bị xóa khỏi vị trí đầu tiên trong mảng đã cho và danh sách cập nhật được hiển thị trong đầu ra đã cho
Arraylist: Array [ [0] => Blue [1] => Red [2] => Black [3] => Green [4] => Gray [5] => White ] Removed element from array is: Blue Updated arraylist: Array [ [0] => Red [1] => Black [2] => Green [3] => Gray [4] => White ]
Thí dụ. Sử dụng các phím số
đầu ra
Removed element: Carom Array [ [0] => Chess [1] => Ludo ]
Thí dụ. Sử dụng các giá trị số
đầu ra
Một phần tử25 bị xóa khỏi vị trí đầu tiên trong mảng đã cho và danh sách cập nhật được hiển thị bên dưới
Trong bài đăng nhỏ này, tôi muốn chỉ cho bạn cách xóa khóa và giữ giá trị trong mảng php về cơ bản cách lập chỉ mục lại mảng bắt đầu từ chỉ mục 0 trong php. chúng ta có thể thực hiện bằng cách sử dụng hàm array_values của mảng php
array_values[] sẽ tạo lại mảng với các khóa mới nên về cơ bản, hàm array_values sẽ tạo mảng mới với khóa mới như mặc định 0 1 2, v.v. nếu bạn muốn xóa các khóa và giữ các giá trị bằng mảng mới thì trong php
Xem ví dụ đơn giản dưới đây với đầu ra như vậy, nó sẽ giúp bạn làm tốt hơn
Thí dụ
$myArray = [
'paresh' => 'Paresh',
'hardik' => 'Hardik',
'vimal' => 'Vimal',
'harshad' => 'Harshad'
];
$reCreateArray = array_values[$myArray];
print_r[$reCreateArray];
đầu ra
Array
[
[0] => Paresh
[1] => Hardik
[2] => Vimal
[3] => Harshad
]
Tôi hy vọng nó có thể giúp bạn
Bài viết này khám phá các tùy chọn khác nhau để xóa một phần tử khỏi một mảng. PHP có nhiều hàm hữu ích trong việc xóa phần tử khỏi mảng. Vì chúng tôi có nhiều tùy chọn để khám phá nên hãy chuyển thẳng đến những tùy chọn này mà không lãng phí thời gian
Xóa một khóa phần tử khỏi một mảng PHP với unset
Hàm unset PHP hủy một biến đã chỉ định hoặc một phần tử mảng.
Removed element: Carom Array [ [0] => Chess [1] => Ludo ]5
Hàm nhận một hoặc nhiều đối số và hủy tất cả chúng cùng một lúc. Vì vậy, chức năng này là siêu tiện dụng. Ví dụ sau đây chứng minh rằng
Hàm unset xóa phần tử đầu tiên 'Micheal'. Tuy nhiên, nó không lập chỉ mục lại mảng. Thật không may, không có cách nào mà chức năng này có thể thực hiện lập chỉ mục lại mặc dù có một cách giải quyết khác là chi phí cho một lệnh gọi hàm bổ sung – array_values
Hơn nữa, khóa được mã hóa cứng cho giá trị 'Micheal'. Có một lối thoát cho điều đó như ví dụ sau đây cho thấy
Tên 'Ron' được lặp lại một vài lần nhưng ví dụ này sử dụng mảng_keys với đối số tìm kiếm. Hàm với đối số tìm kiếm trả về một mảng các khóa có giá trị 'Ron'
Vì vậy, hàm unset có loại bỏ các phần tử mảng nhưng nó vẫn chưa phải là giải pháp tốt nhất. May mắn thay, có một chức năng giúp chúng ta tránh được mọi rắc rối. Vì vậy, hãy xem điều đó tiếp theo
Xóa phần tử khỏi mảng bằng array_diff
PHP array_diff tính toán sự khác biệt của các mảng. Ví dụ ở đây sẽ làm cho nó rõ ràng.
Removed element: Carom Array [ [0] => Chess [1] => Ludo ]6
Hàm tính chênh lệch của
0 với phần còn lại của
1. Nó hoạt động giống như phép toán sai phân từ lý thuyết tập hợp trong toán học – thứ ở trường trung học, nhớ chứ?Vì vậy, hãy xem cách array_diff giúp xóa một phần tử khỏi mảng
Removed element: Carom Array [ [0] => Chess [1] => Ludo ]0
thì đấy. Chức năng này thực hiện tất cả các công việc nặng nhọc. Chúng tôi không cần bất kỳ vòng lặp rõ ràng nào để xóa các phần tử trùng lặp cũng như không có lệnh gọi hàm bổ sung để lập chỉ mục lại mảng
Xóa phần tử khỏi mảng bằng array_diff_key
Bây giờ chúng ta đã tìm hiểu về array_diff, đây cũng là thời điểm thích hợp để xem array_diff_key. Array_diff_key thực hiện chức năng tương tự như array_diff ngoại trừ việc nó khớp với các khóa chứ không phải giá trị
Hãy xem lại ví dụ trước nhưng đảo ngược các cặp khóa và giá trị trong mảng
Removed element: Carom Array [ [0] => Chess [1] => Ludo ]1
Vậy hàm xóa giá trị bằng phím “Ron”. Chìa khóa quan trọng ở đây, không phải giá trị
Xóa phần tử khỏi mảng bằng array_diff_assoc
Array_diif_assoc trong PHP là một hàm tương tự khác với điểm khác biệt là nó khớp với cả hai – khóa và giá trị.
Hãy xem một ví dụ với array_diff_assoc để thấy sự khác biệt
Removed element: Carom Array [ [0] => Chess [1] => Ludo ]2
Vậy là hàm xóa giá trị ‘Micheal’ bằng phím 0 và giữ lại giá trị ‘Micheal’ bằng phím 4. Đó là bởi vì đối số thứ hai nhận được một mảng bao gồm 'Micheal' với khóa 1. Vì vậy, khớp xảy ra như, 'xóa giá trị Micheal tại khóa 0'
Họ array_diff có một hàm khác array_diff_uassoc nhưng chúng tôi sẽ không đề cập đến nó vì chúng tôi đã đi chệch hướng một chút so với khóa học chính
Xóa phần tử khỏi mảng bằng array_splice
Array_splice trong PHP là một hàm khác giúp xóa một phần tử khỏi một mảng và tùy ý thay thế nó bằng một số phần tử khác.
2Đối số offset và độ dài là tất cả những gì chúng ta cần biết để xóa vì chúng ta không có ý định thay thế nó. Tuy nhiên, hiểu chức năng tổng thể có thể là một rắc rối cho người mới bắt đầu.
FuelingPHP có một bài viết chuyên sâu về PHP array_splice. Nó bao gồm các giải thích và hình ảnh rõ ràng để giúp hiểu chức năng dựa trên các kết hợp khác nhau của giá trị độ lệch và độ dài
Ví dụ sau sử dụng hàm này để xóa một phần tử khỏi mảng.
Removed element: Carom Array [ [0] => Chess [1] => Ludo ]4
Hoàn hảo. Nó xóa phần tử 'Andrei' khỏi mảng. Lưu ý rằng nó cũng lập chỉ mục lại mảng
Phần kết luận
Đó là khá nhiều tất cả về bài viết này. Bài viết bao gồm nhiều tùy chọn để xóa một phần tử khỏi mảng. Hàm unset hoạt động tốt nhưng không thể lập chỉ mục lại mảng. Hàm array_diff cực kỳ hữu ích vì nó lập chỉ mục lại mảng và cũng xóa các giá trị trùng lặp.
Bài viết cũng bao gồm các ví dụ về nhiều hàm tương tự như array_diff – array_diff_key và array_diff_assoc. Cuối cùng, chúng ta có hàm array_splice cần giá trị offset và độ dài để xóa một phần tử hoặc một phần của mảng.
Hy vọng bài viết này hữu ích với bạn. Nếu bạn muốn xem thêm các bài viết và hướng dẫn về PHP, hãy theo dõi tại FuelingPHP.
Bạn muốn tìm hiểu thêm về PHP?
Chúng tôi có nhiều bài viết thú vị liên quan đến PHP. Bạn có thể khám phá những điều này để tìm hiểu thêm về PHP
- Cách đọc và ghi tệp CSV trong PHP
- Giới thiệu về Symfony Doctrine PHP ArrayCollection
- Cách thêm tiêu đề vào tệp với fputcsv
Bài viết liên quan
- ← Cách sắp xếp mảng đối tượng theo thuộc tính trong PHP
- Cách cập nhật khóa cụ thể trong mảng đa chiều trong PHP →
Viết mã tốt hơn nhanh hơn
Nhấp vào đây để nhận các bí mật hàng đầu 'Trở thành Rockstar PHP Dev trong 7 ngày' của chúng tôi được gửi đến hộp thư đến của bạn
đăng ký
Stephen Phép Lạ
Chào. Tôi hy vọng bạn thích bài viết này. Tôi đã phát triển các trang web và phần mềm một cách chuyên nghiệp trong hơn 20 năm. Tôi bắt đầu FuelingPHP như một cách để đền đáp lại cộng đồng nguồn mở đã giúp tôi có thể sống thoải mái khi xây dựng những thứ tôi yêu thích