Hàm array_diff_assoc() trong PHP
Mô hình
So sánh khóa và giá trị của hai mảng và trả về tập hợp chênh lệch:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"red","b"=>"green","c"=>"blue"); $result=array_diff_assoc($a1,$a2); print_r($result); ?>
Định nghĩa và cách sử dụng
Hàm array_diff_assoc() được sử dụng để so sánh tên khóa và giá trị khóa của hai (hoặc nhiều) mảng và trả về tập khác biệt.
Hàm này so sánh tên khóa và giá trị của hai (hoặc nhiều hơn) mảng và trả về một mảng chênh lệch chứa tất cả các phần tửarray1) nhưng không phải trong bất kỳ mảng tham số khác (array2 hoặc array3 và các khóa và giá trị của chúng trong ()
Cú pháp
array_diff_assoc(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. 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. |
Chi tiết kỹ thuật
Trả về giá trị: | Trả về mảng chứa tất cả các phần tử array1 nhưng không phải trong bất kỳ mảng tham số khác (array2 hoặc array3 và các khóa và giá trị của chúng trong () |
Phiên bản PHP: | 4.3+ |
Các ví dụ khác
Ví dụ 1
So sánh khóa và giá trị của hai mảng và trả về tập hợp chênh lệch:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("e"=>"red","f"=>"green","g"=>"blue"); $result=array_diff_assoc($a1,$a2); print_r($result); ?>
Ví dụ 2
So sánh khóa và giá trị của ba mảng và trả về tập hợp chênh lệch:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $a2=array("a"=>"red","f"=>"green","g"=>"blue"); $a3=array("h"=>"red","b"=>"green","g"=>"blue"); $result=array_diff_assoc($a1,$a2,$a3); print_r($result); ?>