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);
?>

Chạy ví dụ

Đị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);
?>

Chạy ví dụ