Php xóa khóa chỉ mục khỏi mảng

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 thêm giá trị vào một mảng trên một chỉ mục cụ thể
Xóa Phần tử khỏi Mảng PHP kết hợp & đa chiều
Mảng đối tượng trong PHP. Tạo, Sắp xếp, Lọc, Hợp nhất, Tìm kiếm, v.v
Mảng kết hợp hoặc bản đồ băm trong PHP là gì

  • ← 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

Làm cách nào để xóa chỉ mục khỏi mảng trong PHP?

Nếu bạn chỉ muốn xóa một phần tử mảng, bạn có thể sử dụng unset[] hoặc \array_splice[] . Nếu bạn biết giá trị và không biết khóa để xóa phần tử, bạn có thể sử dụng \array_search[] để lấy khóa.

Làm cách nào để xóa các khóa khỏi một mảng trong PHP?

Sử dụng hàm unset[] . Hàm unset[] dùng để xóa phần tử khỏi mảng. Hàm unset được sử dụng để hủy bất kỳ biến nào khác và sử dụng tương tự để xóa bất kỳ phần tử nào của một mảng. Lệnh bỏ đặt này lấy khóa mảng làm đầu vào và xóa phần tử đó khỏi mảng.

Làm cách nào để xóa chỉ mục 0 khỏi mảng trong PHP?

Để xóa phần tử hoặc giá trị đầu tiên khỏi một mảng, sử dụng hàm array_shift[] . 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.

Làm cách nào để xóa phần tử khỏi mảng trong PHP?

Hàm array_splice[] xóa các phần tử đã chọn khỏi một mảng và thay thế nó bằng các phần tử mới. Hàm cũng trả về một mảng với các phần tử đã bị xóa.

Chủ Đề