array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_diff_assocCalcule la différence de deux tableaux, en prenant aussi en compte les clés

Description

array_diff_assoc(array$array, array...$arrays): array

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.

Liste de paramètres

array

Le tableau à comparer

arrays

Tableaux à comparer contre

Valeurs de retour

Retourne un tableau contenant toutes les valeurs du tableau array qui ne sont pas présentes dans les autres tableaux.

Historique

VersionDescription
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.

Exemples

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 )

Notes

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.

Voir aussi

  • array_diff() - Calcule la différence entre des tableaux
  • array_diff_uassoc() - Calcule la différence entre deux tableaux associatifs, à l'aide d'une fonction de rappel
  • array_udiff_assoc() - Calcule la différence entre des tableaux avec vérification des index, compare les données avec une fonction de rappel
  • array_udiff_uassoc() - Calcule la différence de deux tableaux associatifs, compare les données et les index avec une fonction de rappel
  • array_intersect() - Calcule l'intersection de tableaux
  • array_intersect_assoc() - Calcule l'intersection de deux tableaux avec des tests sur les index
To Top