English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione PHP array_intersect_uassoc() utilizza una funzione di callback personalizzata per calcolare l'intersezione degli array, confrontando gli indici.
array_intersect_uassoc($array1, $array2 [, $array3 ..., callback $key_compare_func] );
array_intersect_uassoc() restituisce un array che contiene tutti i valori che compaiono sia nell'array1 che in tutti gli altri array parametrici. I nomi delle chiavi restano invariati.
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 ha 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, se il primo parametro è maggiore del secondo, deve restituire un numero positivo.
Numero di sequenza | Parametri e descrizione |
---|---|
1 | array1(Obbligatorio) Il primo array è l'array che verrà confrontato con gli altri array. |
2 | array2(Obbligatorio) Questo è l'array da confrontare con il primo array |
3 | array3(Opzionale) Questo è l'array da confrontare con il primo array |
4 | key_compare_func(Obbligatorio) Funzione di callback definita dall'utente. |
Restituisce un array che contiene tutti i valori che compaiono sia nell'array1 che in tutti gli altri array parametrici. I nomi delle chiavi restano invariati.
Come assegnare più array a una funzione:
<?php $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $input2 = array("a" => "GREEN", "B" => "brown", "yellow", "RED"); $result = array_intersect_uassoc($input1, $input2, "strcasecmp"); print_r($result); ?>Testa e vedi‹/›
Risultato di output:
Array ( [b] => brown )