Hàm array_intersect_ukey() của PHP
Mô hình
So sánh tên khóa của hai mảng (sử dụng hàm tự định nghĩa để so sánh tên khóa) và trả về giao:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"blue","b"=>"black","e"=>"blue"); $result=array_intersect_ukey($a1,$a2,"myfunction"); print_r($result); ?>
Định nghĩa và cách sử dụng
Hàm array_intersect_ukey() được sử dụng để so sánh tên khóa của hai (hoặc nhiều) mảng và trả về giao.
Ghi chú:Hàm này sử dụng hàm tự định nghĩa của người dùng để so sánh tên khóa!
Hàm này so sánh tên khóa của hai (hoặc nhiều) mảng và trả về mảng giao, bao gồm tất cả các khóa trong các mảng được so sánh (array1nếu cũng có trong bất kỳ mảng tham số khác (array2 hoặc array3 v.v.) của tên khóa.
Giải thích
Hàm array_intersect_ukey() sử dụng hàm回调 để so sánh tên khóa để tính toán giao của mảng.
array_intersect_ukey() trả về một mảng chứa tất cả các khóa xuất hiện array1 giá trị của khóa xuất hiện cùng lúc trong tất cả các mảng tham số khác.
Cách so sánh này được thực hiện thông qua hàm回调 được cung cấp bởi người dùng. Hàm này có hai tham số, đó là tên khóa cần so sánh. Nếu tham số đầu tiên nhỏ hơn tham số thứ hai, hàm phải trả về một giá trị âm, nếu hai tham số bằng nhau, hàm phải trả về 0, nếu tham số đầu tiên lớn hơn tham số thứ hai, hàm phải trả về một giá trị dương.
语法
array_intersect_ukey(array1,array2,array3...myfunction)
Tham số | Mô tả |
---|---|
array1 | Đòi hỏi. Mảng đầu tiên được so sánh với các mảng khác. |
array2 | Đòi hỏi. 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. |
myfunction | Đòi hỏi. Định nghĩa chuỗi có thể gọi hàm so sánh. Nếu tham số đầu tiên nhỏ hơn, bằng hoặc lớn hơn tham số thứ hai, hàm so sánh phải trả về số nguyên nhỏ hơn, bằng hoặc lớn hơn 0. |
Chi tiết kỹ thuật
Trả về giá trị: | Trả về một mảng giao điểm bao gồm tất cả các mảng được so sánh trong các mảng được so sánh (array1nếu cũng có trong bất kỳ mảng tham số khác (array2 hoặc array3 v.v.) của tên khóa. |
Phiên bản PHP: | 5.1.0+ |
More examples
Ví dụ 1
So sánh tên khóa của ba mảng (sử dụng hàm so sánh tùy chỉnh của người dùng) và trả về giao điểm:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"black","b"=>"yellow","d"=>"brown"); $a3=array("e"=>"purple","f"=>"white","a"=>"gold"); $result=array_intersect_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>