Hàm array_diff
Hàm array_diff so sánh các mảng và trả về các phần tử từ mảng đầu tiên, không có trong các mảng được truyền vào sau đó. Các khóa của phần tử được giữ nguyên. 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.
Cú pháp
array_diff(array1, array2, array3, ...);
Ví dụ
So sánh hai mảng và tìm các phần tử của mảng thứ nhất không có trong mảng thứ hai:
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [2, 4, 5];
$res = array_diff($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
[0 => 1, 2 => 3]
Ví dụ
So sánh ba mảng:
<?php
$arr1 = ['a', 'b', 'c', 'd'];
$arr2 = ['b', 'd'];
$arr3 = ['d', 'e'];
$res = array_diff($arr1, $arr2, $arr3);
print_r($res);
?>
Kết quả thực thi mã:
[0 => 'a', 2 => 'c']
Ví dụ
So sánh mảng kết hợp (các khóa bị bỏ qua, chỉ so sánh các giá trị):
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['x' => 2, 'y' => 3];
$res = array_diff($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
['a' => 1]
Xem thêm
-
hàm
array_intersect,
trả về các phần tử chung của các mảng