Hàm array_uintersect
Hàm array_uintersect tính toán giao của các mảng, sử dụng hàm callback để so sánh các giá trị. Nó trả về một mảng chứa tất cả các phần tử từ mảng đầu tiên có mặt trong tất cả các mảng còn lại. Việc so sánh giá trị được thực hiện thông qua hàm callback do người dùng định nghĩa.
Cú pháp
array_uintersect(array $array1, array $array2, ..., callable $value_compare_func): array;
Ví dụ
Tìm giao của hai mảng bằng cách so sánh các giá trị của chúng sử dụng hàm callback:
<?php
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4, 6, 8, 10];
$res = array_uintersect($array1, $array2, function($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
print_r($res);
?>
Kết quả thực thi mã:
[2, 4]
Ví dụ
So sánh các mảng chuỗi sử dụng hàm do người dùng định nghĩa:
<?php
$array1 = ['a', 'b', 'c', 'd', 'e'];
$array2 = ['b', 'd', 'f', 'h', 'j'];
$res = array_uintersect($array1, $array2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Kết quả thực thi mã:
['b', 'd']
Xem thêm
-
hàm
array_intersect,
tính toán giao của các mảng -
hàm
array_intersect_assoc,
tính toán giao của các mảng với việc kiểm tra thêm chỉ mục -
hàm
array_uintersect_assoc,
tính toán giao của các mảng với việc kiểm tra thêm chỉ mục, sử dụng hàm callback