Hàm array_diff() tính hiệu của các mảng dựa trên giá trị (value) (so sánh chuẩn). Chỉ so sánh giá trị, bỏ qua khóa. Trả về mảng chứa các giá trị của mảng đầu tiên không xuất hiện trong bất kỳ mảng nào khác. Khóa của mảng đầu tiên được giữ nguyên.
Cú pháp
array_diff(array1, array2, array3, array4, ...)
Tham số
array1 – Mảng cơ sở. Bắt buộc.
array2 – Mảng so sánh. Bắt buộc.
array3, array4, ... – Các mảng khác. Tùy chọn.
Giá trị trả về
Trả về mảng chứa các giá trị của array1 không có trong mảng khác (giữ khóa của array1).
Ví dụ
<?php
$arr1 = array("p" => "steve", "q" => "david", "r" => "peter");
$arr2 = array("s" => "steve", "t" => "amy");
$res = array_diff($arr1, $arr2);
print_r($res);
?>
Kết quả
Array ( [q] => david [r] => peter )
Giải thích: "steve" có trong arr2 nên bị loại. "david" và "peter" chỉ có trong arr1 nên giữ lại.