(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_diff_assoc — Calcule la différence de deux tableaux, en prenant aussi en compte les clés
Compare array
avec les tableaux arrays
et retourne la différence. Contrairement à la fonction array_diff(), les clés du tableau sont également utilisées dans la comparaison.
array
Le tableau à comparer
arrays
Tableaux à comparer contre
Retourne un tableau contenant toutes les valeurs du tableau array
qui ne sont pas présentes dans les autres tableaux.
Version | Description |
---|---|
8.0.0 | Cette fonction peut désormais être appelée avec un seul paramètre. Auparavant, au moins deux paramètres étaient nécessaires. |
Exemple #1 Exemple avec array_diff_assoc()
Dans cet exemple, la paire "a" => "green"
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 => "red"
est présente dans le résultat, car la clé de "red"
est automatiquement assignée à 0
dans le premier tableau, tandis qu'elle est assignée à 1
dans le deuxième tableau, car la clé 0
est déjà assigné à yellow
.
<?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);
?>
L'exemple ci-dessus va afficher :
Array ( [b] => brown [c] => blue [0] => red )
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: Cette fonction ne vérifie qu'une dimension d'un tableau multidimensionnel. Il est possible de vérifier des sous dimensions en utilisant, par example,
array_diff_assoc($array1[0], $array2[0]);
.
Note: Il faut s'assurer que les arguments sont fourni dans le bon ordre lors de la comparaison entre tableaux similaires avec plus de clés. Le nouveau tableau doit être le premier de la liste.