Maison > développement back-end > tutoriel php > Comment filtrer un tableau associatif en fonction des clés trouvées dans un tableau indexé ?

Comment filtrer un tableau associatif en fonction des clés trouvées dans un tableau indexé ?

Linda Hamilton
Libérer: 2024-12-24 02:44:14
original
582 Les gens l'ont consulté

How to Filter an Associative Array Based on Keys Found in an Indexed Array?

Vérification des clés de tableau associatif par rapport aux valeurs de tableau indexées

Filtrer un tableau associatif en comparant ses clés avec les valeurs d'un tableau indexé peut être un défi , car la fonction de rappel dans array_filter() ne donne accès qu'aux valeurs. Cependant, il existe une solution utilisant une combinaison de array_intersect_key et array_flip.

Considérez le scénario suivant :

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

Notre objectif est d'exclure toutes les clés de $my_array qui ne se trouvent pas dans $allowed , ce qui donne le résultat souhaité :

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

Solution avec array_intersect_key et array_flip :

  1. Utilisez array_intersect_key pour comparer les clés de $my_array avec les valeurs de $allowed. Ceci est rendu possible par la fonction array_flip, qui échange les clés et les valeurs d'un tableau.
  2. Le tableau résultant inclura uniquement les clés de $my_array qui sont également présentes dans $allowed.
$filtered_array = array_intersect_key($my_array, array_flip($allowed));
Copier après la connexion

Sortie :

var_dump($filtered_array);

array(1) {
  ["foo"]=>
  int(1)
}
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal