Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich assoziative Array-Schlüssel basierend auf indizierten Array-Werten in PHP filtern?
Assoziative Array-Schlüssel basierend auf indizierten Array-Werten filtern
Viele Programmierer stehen vor der Herausforderung, Schlüssel aus einem assoziativen Array basierend auf bestimmten Werten selektiv herauszufiltern Werte, die in einem indizierten Array gespeichert sind. In PHP bietet die Rückruffunktion array_filter() nur Zugriff auf Array-Werte und lässt die Schlüsselübereinstimmungsfunktion aus.
Stellen Sie sich das folgende Szenario vor, in dem $my_array Schlüssel-Wert-Paare enthält:
$my_array = ["foo" => 1, "hello" => "world"];
Und $allowed ist ein einfaches indiziertes Array mit zulässigen Schlüsseln:
$allowed = ["foo", "bar"];
Das Ziel besteht darin, $my_array so zu ändern, dass es Enthält nur Schlüssel, die auch in $allowed vorhanden sind. Die gewünschte Ausgabe ist:
$my_array = ["foo" => 1];
Um dies zu erreichen, können wir die Funktionen array_intersect_key() und array_flip() nutzen:
var_dump(array_intersect_key($my_array, array_flip($allowed)));
Erklärung:
Durch die Kombination dieser Funktionen können wir Schlüssel basierend auf Werten selektiv aus dem assoziativen Array entfernen im indizierten Array, ohne die Schlüssel manuell zu durchlaufen und zu vergleichen.
Das obige ist der detaillierte Inhalt vonWie kann ich assoziative Array-Schlüssel basierend auf indizierten Array-Werten in PHP filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!