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)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名和键值。
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)中,同时也在任何其他参数数组(array2 或 array3 等等)中的键名和键值。 |
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); ?>