PHP array_udiff_uassoc() 函数
实例
比较两个数组的键名和键值(使用用户自定义函数进行比较),并返回差集:
<?php function myfunction_key($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } function myfunction_value($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","c"=>"green"); $result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
定义和用法
array_udiff_uassoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回差集。
注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!
该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1ma non in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi e i valori delle chiavi.
说明
array_udiff_uassoc() 函数返回 array1 数组中存在但其它数组中都不存在的部分。返回的数组中键名保持不变。
注意与 array_diff() 以及 array_udiff() 不同的是键名也用于比较。同时进行键名和键值的比较,如 "a"=>1 和 "b"=>1 这两个元素是不相等的。
对键名(索引)的检查也是由回调函数 myfunction_key 进行的。这和 array_udiff_assoc() Il comportamento è diverso, l'ultimo utilizza la funzione interna per confrontare gli indici.
Il confronto dei dati degli array è effettuato utilizzando la funzione di callback fornita dall'utente myfunction_value effettuato. In questo senso e array_diff_assoc() Il comportamento è esattamente opposto, l'ultimo è confrontato con la funzione interna.
Queste due funzioni hanno due parametri da confrontare. Se il primo parametro è minore del secondo, la funzione restituisce un numero negativo, se i due parametri sono uguali, deve restituire 0, se il primo parametro è maggiore del secondo, deve restituire un numero positivo.
Sintassi
array_udiff_uassoc(array1,array2,array3...,myfunction_key,myfunction_value)
Parametri | Descrizione |
---|---|
array1 | Obbligatorio. Primo array da confrontare con altri array. |
array2 | Obbligatorio. Array da confrontare con il primo array. |
array3,... | Opzionale. Altri array da confrontare con il primo array. |
myfunction_key |
Obbligatorio. Il nome della funzione utente personalizzata utilizzata per confrontare i nomi degli array. Valore di stringa, definisce la funzione di confronto chiamabile. Se il primo parametro è meno o uguale a maggiore di secondo parametro, la funzione di confronto deve restituire un intero minore o uguale a maggiore di 0. |
myfunction_value |
Obbligatorio. Il nome della funzione utente personalizzata utilizzata per confrontare i valori degli array. Valore di stringa, definisce la funzione di confronto chiamabile. Se il primo parametro è meno o uguale a maggiore di secondo parametro, la funzione di confronto deve restituire un intero minore o uguale a maggiore di 0. |
Dettagli tecnici
Valore di ritorno: | Restituisce un array di differenze, che include tutti gli elementi degli array confrontati (array1ma non in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi e i valori delle chiavi. |
Versione PHP: | 5+ |