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"];
Et $allowed est un simple tableau indexé avec des clés autorisées :
$allowed = ["foo", "bar"];
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];
Pour y parvenir, nous pouvons exploiter les fonctions array_intersect_key() et array_flip() :
var_dump(array_intersect_key($my_array, array_flip($allowed)));
Explication :
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!