PHP array_intersect_uassoc() function

Eksemplo

Hahambing ang pangalan at halaga ng key ng dalawang array (gamit ang user-defined function upang mahambing ang pangalan ng key) at ibabalik ang isang intersection:

<?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("d"=>"red","b"=>"green","e"=>"blue");
$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

运行实例

Paglilinaw at Paggamit

Ang array_intersect_uassoc() function ay ginagamit upang mahambing ang pangalan at halaga ng key ng dalawang (o higit pa) array at ibabalik ang isang intersection.

Komento:Ang function na ito ay gumagamit ng user-defined function upang mahambing ang pangalan ng key!

Ang function na ito ay naghahambing sa pangalan at halaga ng key ng dalawang (o higit pa) array at ibabalik ang isang array ng intersection, na naglalaman ng lahat ng mga halaga na nasa lahat ng pinahahambing na array.array1)中,同时也在任何其他参数数组(array2array3 等等)中的键名和键值。

Paliwanag

Ang array_intersect_uassoc() function ay gumagamit ng callback function na pinili ng user upang kalkulahin ang intersection ng array, na naghahambing gamit ang callback function.

Ang array_intersect_uassoc() ay ibabalik ang isang array na naglalaman ng lahat ng mga halaga na nasa lahat ng mga array na ginagamit. array1 Ang mga halaga na nasa lahat ng ibang mga array ng argumento na nasa loob ng ibang mga array.

Bilang pagkakaiba sa array_intersect(), kailangan ding paghahambing ang pangalan ng key bukod sa halaga ng key.

Ang paghahambing ay ginagawa sa pamamagitan ng callback function na ibinigay ng user. Ang function na ito ay may dalawang argumento, ang dalawang pangalan ng key na dapat paghahambing. Kung ang unang argumento ay mas maliit kaysa sa ikalawang argumento, ang function ay dapat ibalik ang isang negatibong numero, kung ang dalawang argumento ay magkapareho, ay ibalik ang 0, at kung ang unang argumento ay mas malaki kaysa sa ikalawang argumento, ay ibalik ang isang positibong numero.

语法

array_intersect_uassoc(array1,array2,array3...myfunction)
参数 描述
array1 必需。与其他数组进行比较的第一个数组。
array2 必需。与第一个数组进行比较的数组。
array3,... 可选。与第一个数组进行比较的其他数组。
myfunction 必需。定义可调用比较函数的字符串。如果第一个参数小于、等于或大于第二个参数,则该比较函数必须返回小于、等于或大于 0 的整数。

技术细节

返回值: 返回交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2array3 等等)中的键名和键值。
PHP 版本: 5+

更多实例

例子 1

比较三个数组的键名和键值(使用用户自定义函数比较键名),并返回交集:

<?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"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_intersect_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

运行实例