Fonction array_diff_key
La fonction array_diff_key compare les clés de deux tableaux ou plus et retourne un tableau contenant les éléments du premier tableau dont les clés sont absentes des autres tableaux. La comparaison se fait uniquement sur les clés, les valeurs des éléments ne sont pas prises en compte.
Syntaxe
array_diff_key(array $array1, array $array2 [, array $...]): array
Exemple
Comparons deux tableaux par leurs clés :
<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['a' => 4, 'd' => 5];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Résultat de l'exécution du code :
['b' => 2, 'c' => 3]
Exemple
Comparaison de trois tableaux par leurs clés :
<?php
$arr1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$arr2 = [1 => 'd', 4 => 'e'];
$arr3 = [5 => 'f', 2 => 'g'];
$res = array_diff_key($arr1, $arr2, $arr3);
print_r($res);
?>
Résultat de l'exécution du code :
[3 => 'c']
Exemple
Utilisation de clés numériques et chaînes de caractères :
<?php
$arr1 = ['color' => 'red', 1 => 'a', 2 => 'b'];
$arr2 = [1 => 'c', 'size' => 'XL'];
$res = array_diff_key($arr1, $arr2);
print_r($res);
?>
Résultat de l'exécution du code :
['color' => 'red', 2 => 'b']
Voir aussi
-
la fonction
array_diff,
qui compare les tableaux par leurs valeurs -
la fonction
array_intersect_key,
qui retourne les clés correspondantes