Hàm array_diff() của PHP
Mô hình
So sánh các khóa của hai mảng và trả về tập hợp khác nhau:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2 = array("e" => "red", "f" => "green", "g" => "blue"); $result=array_diff($a1,$a2); print_r($result); ?>
Định nghĩa và cách sử dụng
Hàm array_diff() trả về mảng khác nhau của hai mảng. Mảng này bao gồm tất cả các khóa giá trị trong các mảng được so sánh, nhưng không có trong bất kỳ mảng tham số khác nào.
Tên khóa trong mảng trả về không thay đổi.
Cú pháp
array_diff(array1,array2,array3...);
Tham số | Mô tả |
---|---|
array1 | Bắt buộc. Mảng đầu tiên được so sánh với các mảng khác. |
array2 | Bắt buộc. Các mảng được so sánh với mảng đầu tiên. |
array3,... | Tùy chọn. Các mảng khác được so sánh với mảng đầu tiên. |
Lưu ý và chú thích
Lưu ý:Tùy chọn. Các mảng khác được so sánh với mảng đầu tiên.
Chú thích:Chỉ có giá trị được sử dụng để so sánh.
Chi tiết kỹ thuật
Trả về giá trị: | Trả về mảng khác nhau, mảng này bao gồm tất cả các khóa giá trị trong các mảng được so sánh (array1nơi, nhưng không có trong bất kỳ mảng tham số khác nào (array2 hoặc array3 v.v.) của khóa giá trị. |
Phiên bản PHP: | 4.0.1+ |
Thêm ví dụ
Ví dụ 1
So sánh giá trị của ba mảng và trả về tập hợp khác nhau:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("e"=>"red","f"=>"black","g"=>"purple"); $a3=array("a"=>"red","b"=>"black","h"=>"yellow"); $result=array_diff($a1,$a2,$a3); print_r($result); ?>