Hàm array_uintersect() so sánh giá trị của các mảng bằng hàm do người dùng định nghĩa, trả về mảng giao nhau (intersection) chỉ dựa trên giá trị. Khóa của mảng đầu tiên được giữ nguyên.
Cú pháp
array_uintersect(array1, array2, array3, ..., compare_func)
Tham số
array1 – Mảng đầu tiên.
array2 – Mảng thứ hai.
array3, ... – Các mảng khác.
compare_func – Hàm so sánh giá trị. Trả về <0, =0, >0.
Giá trị trả về
Trả về mảng chứa các giá trị của array1 xuất hiện trong tất cả các mảng khác (theo hàm so sánh).
Ví dụ
<?php
function compare_func($a, $b) {
if ($a === $b) return 0;
return ($a > $b) ? 1 : -1;
}
$arr1 = array("p" => "one", "q" => "two", "r" => "three");
$arr2 = array("p" => "three", "q" => "four", "s" => "three");
$res = array_uintersect($arr1, $arr2, "compare_func");
print_r($res);
?>
Kết quả
Array ( [r] => three )