Position actuelle: Accueil> Derniers articles> Quelle est la fonction array_diff_key () en php? Comment cela vous aide-t-il à comparer les différences de valeur clé dans les tableaux?

Quelle est la fonction array_diff_key () en php? Comment cela vous aide-t-il à comparer les différences de valeur clé dans les tableaux?

M66 2025-05-17

Dans PHP, la fonction array_diff_key () est utilisée pour comparer les différences de noms de clés (touches) entre deux tableaux. Son objectif est de renvoyer des éléments dans le premier tableau différent de la valeur de clé (clé) du deuxième tableau. Si une clé existe dans le deuxième tableau, les éléments correspondant à la clé sont exclus.

Le scénario d'application principal de cette fonction est que lorsque vous traitez plusieurs tableaux associatifs, vous devez savoir quelles clés existent dans un tableau mais manquent dans un autre. Surtout lors de l'exécution du filtrage ou de la fusion de données, array_diff_key () est un outil très utile.

Syntaxe de fonction

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

Description du paramètre:

  • $ Array1 : Le premier tableau, utilisé pour la comparaison.

  • $ array2 : le deuxième tableau de comparaison.

  • $ Arrays : Vous pouvez choisir de passer plusieurs tableaux à comparer.

Valeur de retour:

  • Renvoie un nouveau tableau contenant toutes les paires de valeurs clés qui existent dans $ array1 mais qui manquent dans $ array2 .

Exemple: comment utiliser array_diff_key ()

Supposons que nous ayons deux baies $ array1 et $ array2 et que nous voulions savoir quelles clés existent dans $ array1 mais pas dans $ array2 :

 <?php
$array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3,
    "d" => 4
];

$array2 = [
    "b" => 2,
    "c" => 3
];

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

Sortir:

 Array
(
    [a] => 1
    [d] => 4
)

Dans cet exemple, la fonction array_diff_key () renvoie les touches A et D dans $ array1 car elles n'apparaissent pas dans $ array2 .

Comparaison de la plupart des tableaux

Si vous souhaitez comparer plusieurs tableaux en même temps, vous pouvez transmettre plusieurs tableaux en tant que paramètres:

 <?php
$array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3,
    "d" => 4
];

$array2 = [
    "b" => 2,
    "c" => 3
];

$array3 = [
    "a" => 1,
    "d" => 4
];

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

Sortir:

 Array
(
    [a] => 1
)

Dans cet exemple, array_diff_key () compare trois tableaux et ne renvoie finalement que des paires de valeurs clés, car elle n'existe pas dans les deux autres tableaux.

Scénarios d'application typiques

array_diff_key () est couramment utilisé dans les scénarios suivants:

  1. Filtrage de données : par exemple, lors du traitement des données des utilisateurs, si vous souhaitez trouver les champs n'existent pas dans une configuration prédéfinie, vous pouvez utiliser cette fonction pour filtrer.

  2. Fichiers de configuration de comparaison : cette fonction peut comparer différentes versions des tableaux de configuration pour savoir quel élément de configuration a été supprimé ou modifié.

  3. Gérer les différences clés dans les tableaux multidimensionnels : si votre tableau est un tableau multidimensionnel, vous pouvez combiner des fonctions telles que Array_Map () pour effectuer des opérations plus complexes pour trouver différentes paires de valeurs clés.

Choses à noter

  • array_diff_key () compare les noms de clés du tableau, pas les valeurs clés. Si vous devez comparer les différences de valeur dans un tableau, vous pouvez utiliser array_diff () .

  • Cette fonction préserve les noms de clés et les valeurs de clés dans $ array1 . Si vous souhaitez conserver les valeurs du tableau au lieu de la paire de valeurs clés, envisagez d'utiliser d'autres méthodes (telles que Array_Values ​​() ) pour obtenir le résultat final.

résumé

array_diff_key () est une fonction très utile, particulièrement adaptée pour comparer les différences clés dans les tableaux. Grâce à cette fonction, nous pouvons facilement découvrir quelles clés dans un tableau ne sont pas disponibles dans d'autres tableaux, nous aidant ainsi à filtrer et à traiter les données. Dans le développement réel, il est largement utilisé dans la vérification des données, la comparaison des fichiers de configuration et les opérations différenciées des tableaux.