array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5)

array_diff_assoc -- Calcule la différence de deux tableaux, en prenant en compte les clés

Description

array array_diff_assoc ( array array1, array array2 [, array ...] )

array_diff_assoc() retourne un tableau contenant les valeurs du tableau array1 qui ne sont présentes dans aucun autre argument array2, .... Notez que les clés sont utilisées durant la comparaison, contrairement à array_diff().

Exemple 1. Exemple avec array_diff_assoc()

<?php
$array1
= array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);

print_r($result);
?>

Les occurrences multiples du tableau array1 ne sont pas traités de la même façon. Le résultat est :

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Dans notre exemple ci-dessus, 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.

Les deux valeurs de la paire clé => valeur sont considérées égales uniquement si (string) $elem1 === (string) $elem2. En d'autre termes, une comparaison stricte est faite sur les représentations des index, avec le type chaîne.

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]);.

Voir aussi array_diff(), array_intersect() et array_intersect_assoc().