Heim  >  Artikel  >  Backend-Entwicklung  >  Wie filtere ich Array-Elemente nach Schlüsselpräfix in PHP?

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

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 12:30:30466Durchsuche

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>

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>

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>

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>

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!

Stellungnahme:
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