Hàm array_diff_assoc
Hàm array_diff_assoc so sánh các mảng và trả về các phần tử của mảng đầu tiên không có trong các mảng tiếp theo, đồng thời tính đến cả khóa lẫn giá trị. Phép so sánh được sử dụng là so sánh nghiêm ngặt (===).
Cú pháp
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
Ví dụ
So sánh hai mảng có khóa và giá trị khác nhau:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 1, 'b' => 5, 'd' => 4];
$res = array_diff_assoc($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
['b' => 2, 'c' => 3]
Ví dụ
So sánh ba mảng có khóa số:
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [1, 3, 3, 4];
$arr3 = [1, 2, 3, 5];
$res = array_diff_assoc($arr1, $arr2, $arr3);
print_r($res);
?>
Kết quả thực thi mã:
[1 => 2]
Ví dụ
So sánh với các kiểu dữ liệu khác nhau:
<?php
$arr1 = ['a' => '1', 'b' => 2];
$arr2 = ['a' => 1, 'b' => '2'];
$res = array_diff_assoc($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
['a' => '1', 'b' => 2]
Xem thêm
-
hàm
array_diff,
so sánh các mảng theo giá trị mà không tính đến khóa -
hàm
array_intersect_assoc,
tìm phần giao nhau của các mảng có tính đến khóa