Hàm array_intersect_uassoc
Hàm array_intersect_uassoc so sánh các mảng và trả về các phần tử có mặt trong tất cả các mảng, sử dụng hàm callback để so sánh các khóa. Tham số đầu tiên là mảng chính, các tham số tiếp theo là các mảng để so sánh, và tham số cuối cùng là hàm callback để so sánh khóa.
Cú pháp
array_intersect_uassoc(array $array1, array $array2, ..., callable $key_compare_func): array;
Ví dụ
So sánh hai mảng với việc kiểm tra khóa thông qua hàm do người dùng định nghĩa:
<?php
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 1, 'b' => 5, 'c' => 3];
function compareKeys($a, $b) {
return $a <=> $b;
}
$res = array_intersect_uassoc($array1, $array2, 'compareKeys');
print_r($res);
?>
Kết quả thực thi mã:
['a' => 1, 'c' => 3]
Ví dụ
So sánh ba mảng với hàm so sánh khóa do người dùng định nghĩa:
<?php
$array1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$array2 = [1 => 'a', 4 => 'b', 3 => 'd'];
$array3 = [1 => 'a', 3 => 'e'];
function keyCompare($key1, $key2) {
if ($key1 == $key2) {
return 0;
}
return ($key1 < $key2) ? -1 : 1;
}
$res = array_intersect_uassoc($array1, $array2, $array3, 'keyCompare');
print_r($res);
?>
Kết quả thực thi mã:
[1 => 'a']
Xem thêm
-
hàm
array_intersect,
hàm tính toán phần giao của các mảng mà không kiểm tra khóa -
hàm
array_intersect_assoc,
hàm tính toán phần giao của các mảng với việc kiểm tra khóa -
hàm
array_uintersect_assoc,
hàm tính toán phần giao của các mảng với việc kiểm tra khóa thông qua hàm callback