Hàm array_intersect_key() của PHP
Mô hình
So sánh các khóa tên của hai mảng và trả về giao:
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","c"=>"blue","d"=>"pink"); $result=array_intersect_key($a1,$a2); print_r($result); ?>
Định nghĩa và cách sử dụng
Hàm array_intersect_key() được sử dụng để so sánh hai (hoặc nhiều hơn) các mảng khóa tên và trả về giao.
Hàm này so sánh hai (hoặc nhiều hơn) các mảng khóa tên và trả về mảng giao, bao gồm tất cả các khóa tên trong các mảng được so sánh (array1của các khóa tên, cũng như trong bất kỳ mảng tham số nào khác (array2 hoặc array3 và vân vân) của các khóa tên.
Giải thích
Hàm array_intersect_key() sử dụng việc so sánh khóa tên để tính giao của các mảng.
array_intersect_key() trả về một mảng chứa các giá trị của các khóa tên xuất hiện trong mảng được so sánh và cũng xuất hiện trong tất cả các mảng tham số khác.
Chú thích:Chỉ sử dụng tên khóa để so sánh.
Cú pháp
array_intersect_key(array1,array2,array3...)
Tham số | Mô tả |
---|---|
array1 | Bắt buộc. Mảng đầu tiên được so sánh với các mảng khác. |
array2 | Bắt buộc. Các mảng được so sánh với mảng đầu tiên. |
array3,... | Tùy chọn. Các mảng khác được so sánh với mảng đầu tiên. |
Chi tiết kỹ thuật
Trả về giá trị: | Trả về một mảng giao, bao gồm tất cả các tên khóa có trong mảng được so sánh (array1) và cũng có trong bất kỳ mảng tham số khác (array2 hoặc array3, v.v.) |
Phiên bản PHP: | 5.1.0+ |
Thêm các ví dụ
Ví dụ 1
So sánh tên khóa của hai mảng chỉ số và trả về giao
<?php $a1=array("red","green","blue","yellow"); $a2=array("red","green","blue"); $result=array_intersect_key($a1,$a2); print_r($result); ?>
Ví dụ 2
So sánh tên khóa của ba mảng và trả về giao
<?php $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("c"=>"yellow","d"=>"black","e"=>"brown"); $a3=array("f"=>"green","c"=>"purple","g"=>"red"); $result=array_intersect_key($a1,$a2,$a3); print_r($result); ?>