Position actuelle: Accueil> Derniers articles> Comment imprimer les noms de clés filtrés par array_diff_key ()?

Comment imprimer les noms de clés filtrés par array_diff_key ()?

M66 2025-06-06

Dans PHP, array_diff_key () est une fonction très pratique qui peut être utilisée pour comparer les noms de clés de deux tableaux et renvoyer les noms de clés qui existent dans le premier tableau mais pas dans le deuxième tableau. Dans certains scénarios, nous devons non seulement obtenir le tableau filtré, mais espérons également obtenir les noms de clés filtrés. Cet article expliquera comment implémenter cette fonction.

Utilisez la fonction array_diff_key ()

L'utilisation de base de la fonction array_diff_key () est la suivante:

 $array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3,
    'd' => 4
];

$array2 = [
    'b' => 5,
    'd' => 6
];

$result = array_diff_key($array1, $array2);

print_r($result);

Résultat de sortie:

 Array
(
    [a] => 1
    [c] => 3
)

Comme indiqué dans l'exemple ci-dessus, array_diff_key () renvoie les paires de valeurs clés dans $ array1 qui n'apparaissent pas dans $ array2 . Cependant, si nous voulons obtenir les noms de clés filtrés, c'est-à-dire ceux qui existent dans $ array1 mais n'apparaissent pas dans $ array2 , nous devons effectuer un traitement supplémentaire.

Obtenez le nom de la clé filtrée

Afin d'obtenir les noms de clés filtrés, nous pouvons d'abord utiliser array_diff_key () pour obtenir le résultat, puis trouver les noms de clés supprimés en comparant les noms de clés des deux tableaux.

 $array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3,
    'd' => 4
];

$array2 = [
    'b' => 5,
    'd' => 6
];

// Obtenez le tableau filtré
$result = array_diff_key($array1, $array2);

// Obtenez le nom de la clé filtrée
$filteredKeys = array_keys($array1);
$remainingKeys = array_keys($result);
$removedKeys = array_diff($filteredKeys, $remainingKeys);

echo "Noms de clés filtrés: ";
print_r($removedKeys);

Résultat de sortie:

 Noms de clés filtrés: Array
(
    [0] => a
    [1] => c
)

De cette façon, nous pouvons imprimer les noms de clés qui sont filtrés lors de l'utilisation de Array_Diff_Key () . La méthode spécifique consiste d'abord à obtenir tous les noms de clés dans $ array1 , puis à utiliser array_diff () pour découvrir les noms de clés qui ne sont pas en résultat $ , et enfin obtenir les noms de clés filtrés.

Résumer

Grâce à l'exemple ci-dessus, nous pouvons voir comment utiliser array_diff_key () pour comparer les noms de clés des tableaux et obtenir des noms de clés filtrés. Cette opération est très courante dans PHP, en particulier lors du nettoyage et de la comparaison des données de tableau. Si vous souhaitez conserver les noms de clés filtrés, vous pouvez vous référer à la méthode de cet article pour y parvenir.