Hàm array_intersect_key
Hàm array_intersect_key nhận vào nhiều mảng và trả về một mảng mới,
chứa các phần tử của mảng đầu tiên mà khóa của chúng tồn tại trong tất cả các mảng còn lại.
Việc so sánh chỉ diễn ra trên khóa, giá trị không được xem xét.
Cú pháp
array_intersect_key(array1, array2, array3, ...);
Ví dụ
So sánh hai mảng theo khóa:
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 4, 'c' => 5, 'd' => 6];
$res = array_intersect_key($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
['a' => 1, 'c' => 3]
Ví dụ
So sánh ba mảng theo khóa:
<?php
$arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$arr2 = [1 => 'd', 3 => 'e'];
$arr3 = [1 => 'f', 4 => 'g'];
$res = array_intersect_key($arr1, $arr2, $arr3);
print_r($res);
?>
Kết quả thực thi mã:
[1 => 'a']
Ví dụ
So sánh các mảng có kiểu khóa khác nhau:
<?php
$arr1 = ['1' => 'a', 2 => 'b'];
$arr2 = [1 => 'c', '2' => 'd'];
$res = array_intersect_key($arr1, $arr2);
print_r($res);
?>
Kết quả thực thi mã:
['1' => 'a', 2 => 'b']
Xem thêm
-
hàm
array_intersect,
so sánh các mảng theo giá trị -
hàm
array_diff_key,
so sánh các mảng theo khóa và trả về sự khác biệt -
hàm
array_intersect_assoc,
so sánh cả khóa và giá trị