English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione array_udiff_assoc() viene utilizzata per confrontare i nomi delle chiavi e i valori di due (o più) array e restituire l'insieme di differenza.
array_udiff_assoc ( $array1, $array2 [, $array3 ..., $data_compare_func] );
Questo confronto avviene tramite una funzione di callback fornita dall'utente. Se si ritiene che il primo parametro sia minore, uguale o maggiore del secondo parametro, è necessario restituire un intero minore, uguale o maggiore zero rispettivamente.
Utilizza un controllo aggiuntivo dell'indice per calcolare la differenza dell'array, confronta i dati tramite una funzione di callback e restituisce un array che include tutti i valori di array1 che non compaiono in nessun altro parametro.
Numero di sequenza | Parametri e descrizione |
---|---|
1 | array1(obbligatorio) Specifica un array. |
2 | array2(obbligatorio) Specifica l'array da confrontare con il primo array. |
3 | array3(opzionale) Specifica l'array da confrontare con il primo array. |
4 | data_compare_func*(obbligatorio) Nome della funzione personalizzata dell'utente. |
array_udiff_assoc() restituisce un array che include tutti i valori presenti in array1 ma non in nessun altro array tra i parametri. Attenzione: a differenza di array_diff() e array_udiff(), anche i nomi delle chiavi vengono utilizzati per il confronto. Il confronto dei dati dell'array avviene tramite una funzione di callback fornita dall'utente. In questo senso, il comportamento è esattamente opposto a quello di array_diff_assoc(), che utilizza una funzione interna per il confronto.
L'uso di array_udiff_assoc con una funzione di callback personalizzata per confrontare la differenza tra due array
<?php function call_back_function($v1,$v2) { if ($v1 === $v2) { return 0; } return 1; } $input = array("a"=>"arancia","b"=>"arancia","c"=>"mango"); $input1 = array("a"=>"arancia","b"=>"mango","c"=>"arancia"); print_r(array_udiff_assoc($input,$input1,"call_back_function")); ?>Testa e vedi‹/›
Risultato di output:
Array ( [b] => arancia [c] => mango )