PHP array_diff_ukey() 函数
实例
比较两个数组的键名(使用用户自定义函数比较键名),并返回差集:
<?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"=>"blue","b"=>"black","e"=>"blue"); $result=array_diff_ukey($a1,$a2,"myfunction"); print_r($result); ?>
定义和用法
array_diff_ukey() 函数用于比较两个(或更多个)数组的键名 ,并返回差集。
注释:该函数使用用户自定义函数比较键名!
该函数比较两个(或更多个)数组的键名,并返回一个差集数组,该数组包括了所有在被比较的数组(array1enthalten, aber nicht in irgendeinem anderen Parameterarray (array2 oder array3 und so weiter) Schlüsselnamen.
语法
array_diff_ukey(array1,array2,array3...,myfunction);
参数 | 描述 |
---|---|
array1 | 必需。与其他数组进行比较的第一个数组。 |
array2 | 必需。与第一个数组进行比较的数组。 |
array3,... | 可选。与第一个数组进行比较的其他数组。 |
myfunction | 必需。定义可调用比较函数的字符串。如果第一个参数小于、等于或大于第二个参数,则该比较函数必须返回小于、等于或大于 0 的整数。 |
Beschreibung
array_diff_ukey() gibt ein Array zurück, das alle enthält array1 enthalten, aber nicht in irgendeinem anderen Parameterarray vorkommen. Beachte, dass die Assoziationsbeziehung beibehalten wird. Im Gegensatz zu array_diff() wird der Vergleich nach Schlüsseln und nicht nach Werten durchgeführt.
Dieser Vergleich wird durch eine vom Benutzer bereitgestellte Callback-Funktion durchgeführt. Wenn ein kleiner als, gleich oder größer als der zweite Parameter zurückgegeben werden muss, wenn der erste Parameter kleiner, gleich oder größer als der zweite Parameter ist, muss eine negative, null oder positive Ganzzahl zurückgegeben werden.
Technische Details
Rückgabewert: | zurückgegeben, das alle Schlüsselnamen enthält, die in den zu vergleichenden Arrays (array1enthalten, aber nicht in irgendeinem anderen Parameterarray (array2 oder array3 und so weiter) Schlüsselnamen. |
PHP-Version: | 5.1+ |
Mehr Beispiele
Beispiel 1
Vergleiche die Schlüsselnamen von drei Arrays (verwende eine benutzerdefinierte Funktion zum Vergleich der Schlüsselnamen) und gib das Untersetzungsset 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("a"=>"black","b"=>"yellow","d"=>"brown"); $a3=array("e"=>"purple","f"=>"white","a"=>"gold"); $result=array_diff_ukey($a1,$a2,$a3,"myfunction"); print_r($result); ?>