Hàm array_uintersect_uassoc() của PHP

Ví dụ

So sánh tên khóa và giá trị khóa của hai mảng (sử dụng hàm tùy chỉnh để so sánh), và trả về giao (khớp):

<?php
function myfunction_key($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
function myfunction_value($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","c"=>"green");
$result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result);
?>

Chạy ví dụ

Định nghĩa và cách sử dụng

Hàm array_uintersect_uassoc() so sánh hai (hoặc nhiều hơn) mảng tên khóa và giá trị khóa, và trả về giao.

Ghi chú:Hàm này sử dụng hai hàm tùy chỉnh để so sánh; hàm đầu tiên so sánh tên khóa, hàm thứ hai so sánh giá trị khóa!

Hàm này so sánh hai (hoặc nhiều hơn) mảng tên khóa và giá trị khóa, và trả về mảng giao. Mảng này bao gồm tất cả các phần tử trong các mảng được so sánh (array1) và cũng trong bất kỳ mảng tham số nào khác (array2 hoặc array3 và vân vân) của tên khóa và giá trị khóa.

Lưu ý, với array_uintersect() khác là cũng phải so sánh tên khóa. Giá trị và tên khóa (ký tự) đều được so sánh bằng hàm gọi lại.

Cú pháp

array_uintersect_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
Tham số Mô tả
array1 Bắt buộc. Mảng đầu tiên để so sánh với các mảng khác.
array2 Bắt buộc. Mảng để so sánh với mảng đầu tiên.
array3,... Tùy chọn. Các mảng khác để so sánh với mảng đầu tiên.
myfunction_key

Bắt buộc. Tên hàm tùy chỉnh để so sánh tên khóa mảng.

Định nghĩa hàm so sánh có thể gọi lại. Nếu tham số đầu tiên nhỏ hơn hoặc bằng hoặc lớn hơn tham số thứ hai, hàm so sánh phải trả về một số nguyên nhỏ hơn hoặc bằng hoặc lớn hơn 0.

myfunction_value

Bắt buộc. Tên hàm tùy chỉnh để so sánh giá trị khóa mảng.

Định nghĩa hàm so sánh có thể gọi lại. Nếu tham số đầu tiên nhỏ hơn hoặc bằng hoặc lớn hơn tham số thứ hai, hàm so sánh phải trả về một số nguyên nhỏ hơn hoặc bằng hoặc lớn hơn 0.

Sử dụng hàm回调 tùy chỉnh myfunction_keymyfunction_value để tính toán giao của hai hoặc nhiều mảng (tức là array1 tồn tại trong, và cũng tồn tại trong bất kỳ mảng nào khác của tất cả các phần tử mảng), và trả về mảng kết quả.

So sánh cùng lúc tên khóa và giá trị khóa, ví dụ "a"=>1 và "b"=>1 là hai phần tử không bằng nhau.

myfunction_key Hàm được sử dụng để so sánh tên khóa có bằng nhau không.myfunction_value Hàm được sử dụng để so sánh giá trị khóa có bằng nhau không. Cả hai hàm này đều có hai tham số để so sánh. Nếu tham số đầu tiên nhỏ hơn tham số thứ hai, hàm trả về một giá trị âm, nếu hai tham số bằng nhau, thì phải trả về 0, nếu tham số đầu tiên lớn hơn tham số thứ hai, thì trả về một giá trị dương.

Trả về mảng mà tên khóa không thay đổi.

Chi tiết kỹ thuật

Giá trị trả về: Trả về một mảng chứa tất cả các phần tử array1 Cả trong các mảng khác.
Phiên bản PHP: 5+