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.
unset[mixed $var, mixed ...$vars]: void
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.
array_diff[array $array, array ...$arrays]: array
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
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
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
________số 8_______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.
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 chức năng 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 rằng, bài viết này đã được hữu ích cho 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