(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_diff_assoc — Calcola la differenza tra array con un ulteriore controllo sull'indice
Confronta array
con arrays
e
restituisce la differenza. A differenza di array_diff(), nel confronto
vengono utilizzate anche le chiavi dell'array.
array
L'array da confrontare
arrays
Gli array con cui confrontare
Restituisce un array contenente tutti i valori dell'
array
che non sono presenti in nessuno degli altri array.
Example #1 Esempio di array_diff_assoc()
In questo esempio si vede che la coppia "a" => "verde"
è presente in entrambi gli array e quindi non è nel risultato della
funzione. Invece, la coppia 0 => "rosso"
è nel risultato perché nel secondo argomento "red"
ha come chiave 1
.
<?php
$array1 = array("a" => "verde", "b" => "marrone", "c" => "blu", "rosso");
$array2 = array("a" => "verde", "giallo", "rosso");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Il precedente esempio visualizzerà:
Array ( [b] => marrone [c] => blu [0] => rosso )
Example #2 Esempio di array_diff_assoc()
Due valori delle coppie chiave => valore sono
considerati uguali solo se (string) $elem1 === (string)
$elem2
. In altre parole c'è un controllo stringente che si accerta
che le rappresentazioni sotto forma di stringa siano uguali.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Il precedente esempio visualizzerà:
Array ( [0] => 0 [1] => 1 )
Nota: Si noti che questa funzione controlla solo una dimensione di un array n-dimensionale. Ovviamente è possibile controllare le altre dimensioni usando, per esempio,
array_diff_assoc($array1[0], $array2[0]);
.
Nota: Assicurarsi di passare gli argomenti nell'ordine corretto quando si confrontano array simili con più chiavi. Il nuovo array dovrebbe essere il primo nella lista.