Funzione array_udiff() di PHP
Esempio
Confronta i valori delle chiavi di due array (utilizza una funzione utente definita per confrontare le chiavi) e restituisce la differenza:
<?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_udiff($a1,$a2,"myfunction"); print_r($result); ?>
Definizione e uso
La funzione array_udiff() viene utilizzata per confrontare i valori delle chiavi di due (o più) array e restituire la differenza.
Nota:Nota: la funzione utilizza una funzione utente definita per confrontare i valori delle chiavi!
La funzione confronta i valori delle chiavi di due (o più) array e restituisce un array di differenza che include tutti i valori presenti negli array confrontati (array1ma non in nessun altro array di parametri (array2 o array3 e simili) delle chiavi.
Descrizione
La funzione array_udiff() restituisce un array che include tutti i valori presenti negli array di confronto, ma non in nessun altro array di parametri, mantenendo i nomi delle chiavi invariati.
La funzione array_udiff() è diversa da array_diff() Il comportamento della funzione è diverso, l'ultima utilizza una funzione interna per il confronto.
Il confronto dei dati avviene tramite la funzione array_udiff() myfunction effettuato.myfunction La funzione ha 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, viene restituito un numero positivo.
sintassi
array_udiff(array1,array2,array3...myfunction)
Parametri | Descrizione |
---|---|
array1 | Obbligatorio. Primo array da confrontare con gli altri array. |
array2 | Obbligatorio. Array da confrontare con il primo array. |
array3,... | Opzionale. Altri array da confrontare con il primo array. |
myfunction |
Obbligatorio. Valore di stringa, definisce la funzione chiamabile. Se il primo parametro è meno o uguale a maggiore del secondo parametro, la funzione di confronto deve restituire un intero tra 0 e maggiore di 0. |
Dettagli tecnici
Valore di ritorno: | Restituisce un array di differenza che contiene tutte le chiavi presenti negli array comparati (array1ma non in nessun altro array di parametri (array2 o array3 e simili) delle chiavi. |
Versione PHP: | 5.1.0+ |
Più esempi
Esempio 1
Confronta i valori delle chiavi di tre array (utilizzando una funzione utente personalizzata per confrontare le chiavi) e restituisci la differenza:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_udiff($a1,$a2,$a3,"myfunction"); print_r($result); ?>