(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — Calcule la différence de deux tableaux, en prenant en compte les clés
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.
Le tableau à comparer
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 379. 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 380. 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]); .
array_diff() |
array_intersect() |
array_intersect_assoc() |