Funzione array_intersect_uassoc() di PHP
Esempio
Confronta i nomi e i valori delle chiavi di due array (utilizzando una funzione personalizzata 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("d"=>"red","b"=>"green","e"=>"blue"); $result=array_intersect_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
Definizione e uso
La funzione array_intersect_uassoc() viene utilizzata per confrontare i nomi e i valori delle chiavi di due (o più) array e restituire l'intersezione.
Nota:Questa funzione utilizza una funzione personalizzata per confrontare i nomi delle chiavi!
Questa funzione confronta i nomi e i valori delle chiavi di due (o più) array e restituisce un array di intersezione che include tutti gli elementi presenti negli array confrontati (array1inoltre in qualsiasi altro array di parametri (array2 o array3 e altri) i nomi delle chiavi e i valori.
Descrizione
La funzione array_intersect_uassoc() utilizza una funzione di callback personalizzata fornita dall'utente per calcolare l'intersezione degli array, confrontando gli indici tramite la callback.
array_intersect_uassoc() restituisce un array che contiene tutti gli elementi array1 che compaiono anche in tutti gli altri array di parametri. Gli elementi dell'array restituito mantengono lo stesso nome di chiave.
Attenzione, a differenza di array_intersect(), oltre a confrontare i valori delle chiavi, si confrontano anche i nomi delle chiavi.
Questa comparazione avviene tramite una funzione di callback fornita dall'utente. La funzione accetta due parametri, ossia i nomi delle chiavi da confrontare. Se il primo parametro è minore del secondo, la funzione deve restituire un numero negativo, se i due parametri sono uguali, deve restituire 0, e se il primo parametro è maggiore del secondo, deve restituire un numero positivo.
sintassi
array_intersect_uassoc(array1,array2,array3,...myfunction)
Parametro | Descrizione |
---|---|
array1 | Obbligatorio. Primo array da confrontare con gli altri array. |
array2 | Obbligatorio. Array da confrontare con il primo array. |
array3,... | Facoltativo. Altri array da confrontare con il primo array. |
myfunction | Obbligatorio. Stringa che definisce la funzione di confronto chiamabile. Se il primo parametro è minore, uguale o maggiore del secondo parametro, la funzione di confronto deve restituire un intero positivo, uguale o negativo. |
Dettagli tecnici
Valore di ritorno: | Restituisce l'array di intersezione che include tutte le chiavi delle array (array1inoltre in qualsiasi altro array di parametri (array2 o array3 e altri) i nomi delle chiavi e i valori. |
Versione PHP: | 5+ |
Più esempi
Esempio 1
Confronta i nomi delle chiavi e i valori delle tre array (usando la funzione personalizzata utente 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"=>"red","b"=>"green","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_intersect_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>