Maison > développement back-end > tutoriel php > Comment puis-je filtrer les clés de tableau associatives en fonction des valeurs de tableau indexées en PHP ?

Comment puis-je filtrer les clés de tableau associatives en fonction des valeurs de tableau indexées en PHP ?

DDD
Libérer: 2024-12-13 11:52:10
original
756 Les gens l'ont consulté

How Can I Filter Associative Array Keys Based on Indexed Array Values in PHP?

Filtrer les clés de tableau associatif en fonction des valeurs de tableau indexées

De nombreux programmeurs sont confrontés au défi de filtrer sélectivement les clés d'un tableau associatif en fonction de valeurs spécifiques. valeurs stockées dans un tableau indexé. En PHP, la fonction de rappel array_filter() donne uniquement accès aux valeurs du tableau, en laissant de côté la fonctionnalité de correspondance de clés.

Considérez le scénario suivant dans lequel $my_array contient des paires clé-valeur :

$my_array = ["foo" => 1, "hello" => "world"];
Copier après la connexion

Et $allowed est un simple tableau indexé avec des clés autorisées :

$allowed = ["foo", "bar"];
Copier après la connexion

Le but est de modifier $my_array de telle sorte qu'il ne fasse que contient des clés qui sont également présentes dans $allowed. Le résultat souhaité est :

$my_array = ["foo" => 1];
Copier après la connexion

Pour y parvenir, nous pouvons exploiter les fonctions array_intersect_key() et array_flip() :

var_dump(array_intersect_key($my_array, array_flip($allowed)));
Copier après la connexion

Explication :

  • **array_flip($allowed)** : inverse les clés et les valeurs de $allowed, en convertissant vers un tableau associatif où les clés d'origine deviennent des valeurs et vice versa. Cela nous permet de comparer les clés de $my_array aux valeurs du tableau inversé.
  • array_intersect_key($my_array, $reversed) : Intersecte les clés de $my_array avec le tableau $allowed inversé. Cela conserve uniquement les clés de $my_array qui sont présentes en tant que valeurs dans le tableau inversé, filtrant efficacement les clés indésirables.

En combinant ces fonctions, nous pouvons supprimer sélectivement les clés du tableau associatif en fonction des valeurs. dans le tableau indexé sans parcourir manuellement les clés et les comparer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal