(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îtres à 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
qui ont des clés
présentes dans tous les arguments.
Exemple #1 Exemple avec array_intersect_key()
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
L'exemple ci-dessus va afficher :
array(2) { ["blue"]=> int(1) ["green"]=> 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 du type stricte est exécuté, donc, le type doit être exactement le même.