PHP array_diff_uassoc() function

Mga Halimbawa

Pagkumpara ng pangalan at halaga ng indeks ng dalawang array (gamit ang sariling function na kumpara ng pangalan) at ibabalik ang pagkakaiba:

<?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_diff_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

运行实例

Pagsasaayos at Paggamit

Ang function na array_diff_uassoc() ay ginagamit para sa pagkumpara ng pangalan at halaga ng indeks ng dalawang (o higit pang) array at ibabalik ang pagkakaiba.

Komento:Ang function na ito ay gumagamit ng sariling function na kumpara ng pangalan ng indeks!

Ang function na ito ay nagkukumpara ng pangalan at halaga ng indeks ng dalawang (o higit pang) array at ibabalik ang isang array na kasama ang lahat ng item na nasa unang array at wala sa ibang array (array1)中,但是不在任何其他参数数组(array2array3 等等)中的键名和键值。

Mga pangunahing Tagubilin

array_diff_uassoc(array1,array2,array3...myfunction);
Parameter Paglalarawan
array1 Hindi puwedeng iwanan. Ang unang array na magiging kumpara sa ibang array.
array2 Hindi puwedeng iwanan. Ang array na magiging kumpara sa unang array.
array3,... Optional. Ang ibang array na magiging kumpara sa unang array.
myfunction Hindi puwedeng iwanan. Tinukoy ang string na binibigay sa gumagamit bilang function na kumomomi ng kumpara ng argumento. Kung ang unang argumento ay mas maliit, magkapareho o mas malaki kaysa ikalawang argumento, ang function na kumpara ay dapat ibabalik ang integer na mas maliit, magkapareho o mas malaki kaysa 0.

Paglalarawan

Ang function na array_diff_uassoc() ay gumagamit ng sariling na callback function (callback) para sa pagcheck ng indeks upang kalkulahin ang pagkakaiba ng dalawang o higit pang array. Ibinabalik ng function ang isang array na may kasamang mga item na nasa unang array ngunit wala sa ibang array. array1 中但是不在任何其他参数数组中的值。

注意,与 array_diff() 函数 不同的是,键名也要进行比较。

参数 myfunction 是用户自定义的用来比较两个数组的函数,该函数必须带有两个参数 - 即两个要进行对比的键名。因此与函数 array_diff_assoc() 的行为正好相反,后者是用内部函数进行比较的。

返回的数组中键名保持不变。

技术细节

返回值: 返回差集数组,该数组包括了所有在被比较的数组(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_diff_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

运行实例