Maison >développement back-end >tutoriel php >Comment filtrer un tableau associatif en fonction des clés trouvées dans un tableau indexé ?
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"];
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];
Solution avec array_intersect_key et array_flip :
$filtered_array = array_intersect_key($my_array, array_flip($allowed));
Sortie :
var_dump($filtered_array); array(1) { ["foo"]=> int(1) }
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!