Wie filtere ich Array-Elemente nach Schlüsselpräfix in PHP?

Barbara Streisand
Freigeben: 2024-10-27 12:30:30
Original
465 Leute haben es durchsucht

How to Filter Array Elements by Key Prefix in PHP?

Array-Elemente nach Schlüsselpräfix filtern

Wie kann man bei einem gegebenen Array mit Schlüsseln und Werten alle Elemente entfernen, deren Schlüssel nicht mit beginnen? eine bestimmte Zeichenfolge? Zum Beispiel mit dem folgenden Array:

<code class="php">array(
  'abc' => 0,
  'foo-bcd' => 1,
  'foo-def' => 1,
  'foo-xyz' => 0,
  // ...
)</code>
Nach dem Login kopieren

Das Ziel besteht darin, nur die Elemente beizubehalten, deren Schlüssel mit „foo-“ beginnen.

Funktioneller Ansatz:

Mit der Funktion array_filter können Sie das Array filtern und nur die gewünschten Elemente beibehalten:

<code class="php">$array = array_filter($array, function($key) {
    return strpos($key, 'foo-') === 0;
}, ARRAY_FILTER_USE_KEY);</code>
Nach dem Login kopieren

Prozeduraler Ansatz:

Alternativ ein prozeduraler Ansatz kann verwendet werden:

<code class="php">$only_foo = array();
foreach ($array as $key => $value) {
    if (strpos($key, 'foo-') === 0) {
        $only_foo[$key] = $value;
    }
}</code>
Nach dem Login kopieren

Prozeduraler Ansatz mit Objekten:

Mithilfe eines Iterators kann man das Array auch filtern:

<code class="php">$i = new ArrayIterator($array);
$only_foo = array();
while ($i->valid()) {
    if (strpos($i->key(), 'foo-') === 0) {
        $only_foo[$i->key()] = $i->current();
    }
    $i->next();
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie filtere ich Array-Elemente nach Schlüsselpräfix in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!