(PHP 4 >= 4.3.0, PHP 5, PHP 7)
array_diff_assoc — Calcule la différence de deux tableaux, en prenant aussi en compte les clés
$array1
, array $array2
[, array $...
] )
Compare array1
et array2
et retourne
la différence. Contrairement à la fonction array_diff(), les clés
du tableau sont également utilisées dans la comparaison.
array1
Le tableau à comparer
array2
Le tableau à comparer
...
Plus de tableaux à comparer
Retourne un tableau contenant toutes les valeurs du tableau
array1
qui ne sont pas présentes dans les
autres tableaux.
Exemple #1 Exemple avec array_diff_assoc()
Dans cet exemple, vous pouvez voir que la paire "a" => "vert" est présente dans les deux tableaux, et donc, n'est pas présente dans le résultat de la fonction. Au contraire, la paire 0 => "rouge" est présente dans le résultat, car le second argument "rouge" possède une clé qui est 1.
<?php
$array1 = array("a" => "vert", "b" => "marron", "c" => "bleu", "rouge");
$array2 = array("a" => "vert", "jaune", "rouge");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
L'exemple ci-dessus va afficher :
Array ( [b] => marron [c] => bleu [0] => rouge )
Exemple #2 Exemple avec array_diff_assoc()
Deux valeurs des paires clé => valeur sont considérées comme égales uniquement si (string) $elem1 === (string) $elem2 . En d'autres termes, une vérification stricte est effectuée sur la représentation en chaînes de caractères.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
L'exemple ci-dessus va afficher :
Array ( [0] => 0 [1] => 1 )
Note: Notez bien que cette fonction ne travaille que sur une dimension de tableau. Bien sur, vous pouvez utiliser des sous dimensions de tableau comme ceci : array_diff_assoc($array1[0], $array2[0]);.
Note: Assurez-vous de passer les arguments dans le bon ordre lors de la comparaison de tableaux similaires avec plus de clés. Le nouveau tableau doit être le premier de la liste.