Hàm array_diff_uassoc
Hàm array_diff_uassoc so sánh các mảng và trả về các phần tử từ mảng đầu tiên, mà không có trong các mảng tiếp theo. Trong đó, việc so sánh khóa được thực hiện bằng hàm callback do người dùng cung cấp.
Cú pháp
array_diff_uassoc(array $array1, array $array2, ..., callable $key_compare_func): array
Ví dụ
Hãy so sánh hai mảng với hàm do người dùng định nghĩa để so sánh khóa:
<?php
function compareKeys($a, $b) {
if ($a === $b) return 0;
return ($a > $b) ? 1 : -1;
}
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 1, 'b' => 5, 'd' => 4];
$res = array_diff_uassoc($array1, $array2, 'compareKeys');
print_r($res);
?>
Kết quả thực thi mã:
[
'b' => 2,
'c' => 3,
]
Ví dụ
So sánh có phân biệt chữ hoa chữ thường cho khóa:
<?php
function caseSensitiveCompare($a, $b) {
return strcasecmp($a, $b);
}
$array1 = ['A' => 1, 'B' => 2, 'C' => 3];
$array2 = ['a' => 1, 'b' => 2, 'd' => 4];
$res = array_diff_uassoc($array1, $array2, 'caseSensitiveCompare');
print_r($res);
?>
Kết quả thực thi mã:
[
'C' => 3
]
Xem thêm
-
hàm
array_diff,
hàm so sánh mảng theo giá trị -
hàm
array_diff_assoc,
hàm so sánh mảng theo giá trị và khóa -
hàm
array_udiff_assoc,
hàm so sánh mảng với hàm callback cho giá trị