Hàm array_intersect_assoc
Hàm array_intersect_assoc trả về một mảng chứa tất cả các phần tử của mảng đầu tiên, tồn tại trong tất cả các mảng được truyền vào còn lại, đồng thời so sánh cả khóa và giá trị. Tham số đầu tiên được truyền vào là mảng chính, các tham số tiếp theo là các mảng để so sánh.
Cú pháp
array_intersect_assoc(array1, array2, ...): array;
Ví dụ
Tìm giao của hai mảng với việc kiểm tra khóa:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 1, 'c' => 4, 'd' => 5];
$res = array_intersect_assoc($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
['a' => 1]
Ví dụ
So sánh ba mảng với các khóa và giá trị khác nhau:
<?php
$arr1 = [1, 2, 3, 4];
$arr2 = [1, 3, 4, 5];
$arr3 = [1, 2, 4, 6];
$res = array_intersect_assoc($arr1, $arr2, $arr3);
print_r($res);
?>
Kết quả thực thi mã:
[0 => 1]
Ví dụ
Khi không có sự trùng khớp về khóa và giá trị:
<?php
$arr1 = ['a' => 1, 'b' => 2];
$arr2 = ['c' => 1, 'd' => 2];
$res = array_intersect_assoc($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
[]
Xem thêm
-
hàm
array_intersect,
hàm này tính toán giao của các mảng mà không kiểm tra khóa -
hàm
array_diff_assoc,
hàm này tính toán sự khác biệt của các mảng với việc kiểm tra khóa