Position actuelle: Accueil> Derniers articles> Utilisez array_diff_key () pour supprimer rapidement les noms de clés de liste noire

Utilisez array_diff_key () pour supprimer rapidement les noms de clés de liste noire

M66 2025-06-06

En PHP, nous devons souvent supprimer des clés spécifiques d'un tableau basé sur certaines conditions. PHP fournit une variété de façons de manipuler les tableaux, où la fonction array_diff_key () est très adaptée pour retirer certaines clés d'un tableau.

Dans cet article, nous expliquerons comment utiliser la fonction array_diff_key () , combinée avec le mécanisme de liste noire pour supprimer rapidement les clés spécifiées d'un tableau.

Quelle est la fonction array_diff_key () ?

array_diff_key () est une fonction intégrée PHP qui compare les clés de deux tableaux et renvoie des éléments correspondant aux clés qui ne sont pas dans le deuxième tableau. C'est-à-dire que l'utilisation de l'array_diff_key () peut filtrer les touches dans le deuxième tableau.

Prototype de fonction:

 array array_diff_key ( array $array1 , array $array2 )
  • $ array1 : le premier tableau.

  • $ array2 : le deuxième tableau, utilisé pour comparer les clés.

La fonction renvoie un nouveau tableau contenant les touches dans $ array1 et non les clés dans $ array2 .

Utilisez le scénario: supprimez la touche noire du tableau

Supposons que nous ayons une gamme d'informations utilisateur, nous devons supprimer rapidement certains noms de clés indésirables en fonction d'un tableau de liste noire. Par exemple, nous avons un tableau contenant des informations utilisateur, qui peuvent avoir des données sensibles (telles que les mots de passe), et nous voulons supprimer ces informations sensibles via un tableau de liste noire.

Exemple de code:

 <?php

// Données utilisateur d&#39;origine
$user_data = [
    'username' => 'john_doe',
    'email' => 'john@example.com',
    'password' => 'secret_password',
    'phone' => '123-456-7890',
    'address' => '123 Main St, Anytown, USA',
    'url' => 'https://m66.net/profile/john_doe'
];

// Tableau de liste noire,Contient le nom de clé que nous voulons supprimer
$blacklist = [
    'password' => null,
    'url' => null
];

// utiliser array_diff_key Supprimer les clés de la liste noire
$filtered_data = array_diff_key($user_data, $blacklist);

// Sortie le résultat après le traitement
print_r($filtered_data);
?>

Résultat de sortie:

 Array
(
    [username] => john_doe
    [email] => john@example.com
    [phone] => 123-456-7890
    [address] => 123 Main St, Anytown, USA
)

Analyse de code:

  • $ user_data : contient diverses informations utilisateur, y compris le nom d'utilisateur, le courrier électronique, le mot de passe, le numéro de téléphone, l'adresse et une URL.

  • $ Blacklist : Il s'agit d'un tableau contenant des noms de clés de liste noire. Nous spécifions les touches «mot de passe» et «URL» dans le tableau des listes noires, qui sont supprimées du tableau d'origine.

  • array_diff_key ($ user_data, $ BlackList) : Cette ligne de code renvoie un nouveau tableau, où seules les clés de $ user_data qui ne sont pas dans le tableau noir de liste noire sont conservées. Le tableau final renvoyé est les données après avoir supprimé les informations sensibles.

De cette façon, vous pouvez supprimer rapidement et flexiblement les clés spécifiées de n'importe quel tableau, en particulier lors du traitement des informations de l'utilisateur, ce qui peut vous aider à bloquer efficacement les données sensibles.

Pourquoi choisir array_diff_key () ?

La fonction array_diff_key () est un choix idéal pour gérer ces exigences, et il est très efficace car il compare directement les clés du tableau, et non les valeurs du tableau. Par rapport à d'autres façons qui nécessitent la traversée des tableaux une par une, array_diff_key () peut filtrer les clés inutiles à travers une comparaison, ce qui permet de gagner du temps de traitement, en particulier pour les ensembles de données plus importants.

Conclusion

Les tableaux opérationnels en PHP sont une tâche courante dans le développement quotidien. La maîtrise de certaines fonctions de tableau couramment utilisées peut considérablement améliorer l'efficacité du travail. Utiliser array_diff_key () pour supprimer rapidement les clés de liste noire est une approche efficace et facile à mettre en œuvre. Si vous avez plusieurs clés qui doivent être supprimées, array_diff_key () fournit une solution élégante.

J'espère que cet article peut vous aider à comprendre comment utiliser la fonction array_diff_key () pour gérer les problèmes de filtrage des clés dans les tableaux. Si vous avez d'autres questions, n'hésitez pas à poser!