Funzione array_diff_ukey() di PHP
Esempio
Confronta i nomi delle chiavi di due array (utilizzando una funzione di confronto personalizzata) e restituisce un array di 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_diff_ukey($a1,$a2,"myfunction"); print_r($result); ?>
Definizione e uso
La funzione array_diff_ukey() viene utilizzata per confrontare i nomi delle chiavi di due (o più) array e restituire un array di differenza.
Nota:Questa funzione utilizza una funzione di confronto personalizzata!
Questa funzione confronta i nomi delle chiavi di due (o più) array e restituisce un array di differenza che include tutte le chiavi presenti negli array confrontati (array1) ma non presenti in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi.
Sintassi
array_diff_ukey(array1,array2,array3...,myfunction);
Parametro | 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 | Obbligatorio. Stringa che definisce la funzione di confronto richiamabile. Se il primo argomento è minore, uguale o maggiore del secondo argomento, la funzione di confronto deve restituire un intero positivo, uguale o negativo. |
Descrizione
array_diff_ukey() restituisce un array che include tutte le chiavi presenti array1 ma non presenti in nessun altro array di parametri. Attenzione: l'associazione rimane invariata. A differenza di array_diff(), la comparazione avviene in base al nome delle chiavi e non dei valori.
Questa comparazione viene effettuata tramite una funzione di callback fornita dall'utente. Deve restituire un intero minore di zero, zero o maggiore di zero se il primo parametro è minore, uguale o maggiore del secondo parametro.
Dettagli tecnici
Valore di ritorno: | ) restituisce un array di intersezione che include tutte le chiavi deiarray1) ma non presenti in nessun altro array di parametri (array2 o array3 e simili) i nomi delle chiavi. |
Versione PHP: | 5.1+ |
Più esempi
Esempio 1
Confronta i nomi delle chiavi di tre array (utilizza una funzione utente definita per confrontare i nomi delle chiavi) e restituisce l'intersezione:
<?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); ?>