Fonction array_intersect_key
La fonction array_intersect_key prend plusieurs tableaux et retourne un nouveau tableau,
contenant les éléments du premier tableau dont les clés se trouvent dans tous les autres tableaux.
La comparaison se fait uniquement sur les clés, les valeurs ne sont pas prises en compte.
Syntaxe
array_intersect_key(array1, array2, array3, ...);
Exemple
Comparons deux tableaux par leurs clés :
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 4, 'c' => 5, 'd' => 6];
$res = array_intersect_key($arr1, $arr2);
print_r($res);
?>
Résultat de l'exécution du code :
['a' => 1, 'c' => 3]
Exemple
Comparons trois tableaux par leurs clés :
<?php
$arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$arr2 = [1 => 'd', 3 => 'e'];
$arr3 = [1 => 'f', 4 => 'g'];
$res = array_intersect_key($arr1, $arr2, $arr3);
print_r($res);
?>
Résultat de l'exécution du code :
[1 => 'a']
Exemple
Comparaison de tableaux avec différents types de clés :
<?php
$arr1 = ['1' => 'a', 2 => 'b'];
$arr2 = [1 => 'c', '2' => 'd'];
$res = array_intersect_key($arr1, $arr2);
print_r($res);
?>
Résultat de l'exécution du code :
['1' => 'a', 2 => 'b']
Voir aussi
-
la fonction
array_intersect,
qui compare les tableaux par leurs valeurs -
la fonction
array_diff_key,
qui compare les tableaux par leurs clés et retourne la différence -
la fonction
array_intersect_assoc,
qui compare à la fois les clés et les valeurs