Hàm array_udiff
Hàm array_udiff 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. Để so sánh các phần tử, nó sử dụng một hàm callback do bạn tự định nghĩa. Tham số đầu tiên là mảng chính để so sánh, các tham số sau là các mảng được so sánh với mảng đầu tiên.
Cú pháp
array_udiff(array1, array2, ..., callback): array;
Ví dụ
So sánh hai mảng số, sử dụng hàm callback để so sánh:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [3, 4, 5, 6, 7];
$res = array_udiff($arr1, $arr2, function($a, $b) {
return $a <=> $b;
});
print_r($res);
?>
Kết quả thực thi mã:
[1, 2]
Ví dụ
So sánh các mảng chuỗi bằng hàm so sánh do người dùng định nghĩa:
<?php
$arr1 = ['a', 'b', 'c', 'd'];
$arr2 = ['c', 'd', 'e', 'f'];
$res = array_udiff($arr1, $arr2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Kết quả thực thi mã:
['a', 'b']
Ví dụ
So sánh với nhiều mảng:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [2, 3, 4];
$arr3 = [3, 4, 5];
$res = array_udiff($arr1, $arr2, $arr3, function($a, $b) {
return $a <=> $b;
});
print_r($res);
?>
Kết quả thực thi mã:
[1]
Xem thêm
-
hàm
array_diff,
tính toán sự khác biệt giữa các mảng -
hàm
array_intersect,
tính toán sự giao nhau giữa các mảng -
hàm
array_udiff_assoc,
tính toán sự khác biệt với việc kiểm tra thêm chỉ mục