Heim >Backend-Entwicklung >PHP-Tutorial >Wie extrahiere ich Array-Elemente basierend auf einem bestimmten Schlüsselpräfix in PHP?
Array-Elemente basierend auf der Präfixverfügbarkeit extrahieren
In einem Szenario, in dem Sie ein Array mit unterschiedlichen Schlüsselpräfixen haben, werden nur Elemente extrahiert, die mit beginnen Ein bestimmtes Präfix kann eine nützliche Aufgabe sein. Betrachten wir ein Beispielarray:
array( 'abc' => 0, 'foo-bcd' => 1, 'foo-def' => 1, 'foo-xyz' => 0, // ... )
Herausforderung:Behalten Sie nur Elemente bei, die mit „foo-“ beginnen.
Funktioneller Ansatz:
<code class="php">$array = array_filter($array, function($key) { return strpos($key, 'foo-') === 0; }, ARRAY_FILTER_USE_KEY);</code>
Die Funktion array_filter mit der anonymen Funktion prüft, ob der Schlüssel jedes Elements mit „foo-“ beginnt. Wenn diese Bedingung erfüllt ist, bleibt das Element im geänderten Array erhalten.
Prozeduraler Ansatz:
<code class="php">$only_foo = array(); foreach ($array as $key => $value) { if (strpos($key, 'foo-') === 0) { $only_foo[$key] = $value; } }</code>
Dieser Ansatz iteriert über das Array und prüft jeden Schlüssel auf das Präfix „foo-“. Wenn das Element gefunden wird, wird es zu einem neuen Array hinzugefügt, das nur die Elemente enthält, die das Kriterium erfüllen.
Prozeduraler Ansatz unter Verwendung von Objekten:
<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>
Mit diesem Ansatz Zum Durchlaufen des ursprünglichen Arrays wird ein ArrayIterator-Objekt verwendet. Jeder Schlüssel wird auf das Präfix „foo-“ überprüft und entsprechende Elemente werden einem neuen Array hinzugefügt.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Array-Elemente basierend auf einem bestimmten Schlüsselpräfix in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!