array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.array-diff-key.php', 1 => 'array_diff_key', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Fonctions sur les tableaux', ), 'prev' => array ( 0 => 'function.array-diff-assoc.php', 1 => 'array_diff_assoc', ), 'next' => array ( 0 => 'function.array-diff-uassoc.php', 1 => 'array_diff_uassoc', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/array/functions/array-diff-key.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_key — Calcule la différence de deux tableaux en utilisant les clés pour comparaison
Compare les clés du tableau array
avec les clés
des tableaux arrays
et retourne la différence.
Cette fonction est identique à la fonction array_diff(),
excepté sur le fait que la comparaison est faite sur les clés,
plutôt que sur les valeurs.
array
Le tableau à comparer
arrays
Tableaux à comparer contre
Retourne un tableau contenant toutes les entrées du tableau
array
dont les clés sont absentes dans
tous 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_key()
Les deux clés depuis les paires clé => valeur
sont considérées comme égales uniquement si
(string) $cle1 === (string) $cle2
. En d'autres termes,
une analyse de type stricte est exécutée, donc, le type doit être
exactement le même.
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_key($array1, $array2));
?>
L'exemple ci-dessus va afficher :
array(3) { ["blue"]=> int(1) ["red"]=> int(2) ["purple"]=> int(4) }
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
$array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8);
var_dump(array_diff_key($array1, $array2, $array3));
?>
L'exemple ci-dessus va afficher :
array(2) { ["red"]=> int(2) ["purple"]=> int(4) }
Note:
Notez que cette fonction vérifie uniquement une dimension d'un tableau possédant n dimensions. Bien sûr, vous pouvez vérifier une dimension plus profonde en utilisant, par exemple,
array_diff_key($array1[0], $array2[0]);
.