Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction array_diff_key ()? Syntaxe de base et description des paramètres

Comment utiliser la fonction array_diff_key ()? Syntaxe de base et description des paramètres

M66 2025-06-06

Dans PHP, array_diff_key () est une fonction utilisée pour calculer l'ensemble de différence de deux tableaux. Il renvoie un tableau contenant toutes les paires de valeurs clés qui existent dans le premier tableau mais pas dans le deuxième tableau. Cette fonction se compare basée sur les clés du tableau, pas les valeurs.

Syntaxe de base

 array_diff_key(array $array1, array $array2, array ...$arrays): array

Description du paramètre:

  1. $ array1
    Il s'agit du premier tableau à être comparé.

  2. $ array2
    Il s'agit du deuxième tableau à comparer avec $ array1 . Les clés de ce tableau seront supprimées de $ array1 .

  3. $ Arrays (facultatif)
    Plus de tableaux peuvent être passés à titre de comparaison, Array_Diff_Key () supprimeront les clés de ces tableaux de $ array1 .

Valeur de retour:

Cette fonction renvoie un nouveau tableau contenant toutes les paires de valeurs clés qui existent dans $ array1 mais pas dans $ array2 ou d'autres tableaux passés.

Exemple de code

Voici un exemple utilisant la fonction array_diff_key () :

 <?php
$array1 = [
    "apple" => 1,
    "banana" => 2,
    "cherry" => 3
];

$array2 = [
    "banana" => 2,
    "cherry" => 3
];

$result = array_diff_key($array1, $array2);
print_r($result);
?>

Sortir:

 Array
(
    [apple] => 1
)

Dans cet exemple, array_diff_key () compare $ array1 et $ array2 et renvoie un nouveau tableau contenant la clé "Apple" , car cette clé n'existe que dans $ array1 et non dans $ array2 .

En utilisant plusieurs tableaux

Vous pouvez également transmettre plusieurs tableaux à array_diff_key () , qui compare les clés dans $ array1 et tous les autres tableaux, les paires de valeurs clés de retour qui contiennent des valeurs de clés qui existent dans $ array1 mais ne sont pas dans d'autres tableaux.

 <?php
$array1 = [
    "apple" => 1,
    "banana" => 2,
    "cherry" => 3,
    "date" => 4
];

$array2 = [
    "banana" => 2,
    "cherry" => 3
];

$array3 = [
    "apple" => 1,
    "date" => 4
];

$result = array_diff_key($array1, $array2, $array3);
print_r($result);
?>

Sortir:

 Array
(
    [banana] => 2
)

Dans cet exemple, array_diff_key () compare $ array1 et $ array2 , $ array3 , et renvoie un array contenant la "banane" clé car elle n'apparaît que dans $ array1 , mais dans $ array2 et $ array3 .

Choses à noter

  • array_diff_key () est une comparaison basée sur les clés, pas une valeur. Il ne prend donc pas en compte les valeurs du tableau, il fonctionne simplement sur les clés.

  • Si vous passez plusieurs tableaux, la fonction compare les clés de ces tableaux et renvoie un tableau contenant les clés uniques dans $ array1 .

  • Si une clé est présente dans tous les tableaux, le résultat ne contiendra pas cette clé.

Liens connexes

Si vous souhaitez voir une documentation plus détaillée sur la fonction array_diff_key () , reportez-vous au lien suivant:

Document officiel de PHP: array_diff_key ()