(PHP 5 >= 5.1.0, PHP 7)
array_intersect_key — Calcule l'intersection de deux tableaux en utilisant les clés pour comparaison
$array1
, array $array2
[, array $...
] )
array_intersect_key() retourne un tableau contenant
toutes les entrées du tableau array1
qui contiennent des clés présentes dans tous les tableaux passés en arguments.
array1
Le tableau contenant les clés maîtresses à vérifier.
array2
Un tableau contenant les clés à comparer.
...
Une liste variable de tableaux à comparer.
Retourne un tableau associatif contenant toutes les entrées du
tableau array1
dont les clés sont présentes
dans tous les arguments.
Exemple #1 Exemple avec array_intersect_key()
<?php
$array1 = array('bleu' => 1, 'rouge' => 2, 'vert' => 3, 'violet' => 4);
$array2 = array('vert' => 5, 'bleu' => 6, 'jaune' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
L'exemple ci-dessus va afficher :
array(2) { ["bleu"]=> int(1) ["vert"]=> int(3) }
Dans cet exemple, vous pouvez voir que seules les clés 'bleu'
et 'vert' sont présentes dans les deux tableaux et donc,
elles sont retournées. Notez également que les valeurs pour les clés
'bleu' et 'vert' diffèrent
entre les deux tableaux. Néanmoins, elles correspondent toujours car
uniquement les clés sont vérifiées.
Les valeurs retournées sont celles du tableau array1
.
Les deux clés depuis les paires clé => valeur sont considérées comme égales uniquement si (string) $cle1 === (string) $cle2 . En d'autres mots, une analyse stricte du type est exécutée, donc la représentation sous forme de chaine doit être exactement la même.