PHP array_intersect_uassoc() Funktion

Beispiel

Vergleichen Sie die Schlüsselnamen und -werte von zwei Vektoren (verwenden Sie eine vom Benutzer definierte Funktion, um die Schlüsselnamen zu vergleichen) und geben Sie den Schnitt zurück:

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

运行实例

Definition und Verwendung

Die Funktion array_intersect_uassoc() wird verwendet, um die Schlüsselnamen und -werte von zwei (oder mehreren) Vektoren zu vergleichen und einen Schnitt zurückzugeben.

Kommentar:Diese Funktion verwendet eine vom Benutzer definierte Funktion, um die Schlüsselnamen zu vergleichen!

Diese Funktion vergleicht die Schlüsselnamen und -werte von zwei (oder mehreren) Vektoren und gibt einen Schnittvektor zurück, der alle in den zu vergleichenden Vektoren enthaltenen Elemente enthält (array1)中,同时也在任何其他参数数组(array2array3 等等)中的键名和键值。

Erklärung

Die Funktion array_intersect_uassoc() verwendet eine vom Benutzer definierte Callback-Funktion, um den Schnitt der Vektoren zu berechnen, indem sie die Indizes vergleicht.

array_intersect_uassoc() gibt einen Vektor zurück, der alle in array1 der gleichzeitig in allen anderen Parametervektoren vorkommt. Die Schlüsselnamen in der zurückgegebenen Vektoren bleiben unverändert.

Beachten Sie, dass anders als bei array_intersect() sowohl der Wert als auch der Schlüsselname verglichen werden.

Diese Vergleich wird durch eine von Benutzer bereitgestellte Callback-Funktion durchgeführt. Diese Funktion hat zwei Parameter, nämlich die beiden zu vergleichenden Schlüsselnamen. Gibt der erste Parameter einen Wert kleiner als den zweiten Parameter zurück, so soll die Funktion eine negative Zahl zurückgeben, gibt sie bei Gleichheit 0 zurück und bei einem Wert größer als den zweiten Parameter eine positive Zahl.

Syntax

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

运行实例