Array-Elemente basierend auf Schlüsselpräfix filtern
Sie haben ein Array, das Elemente mit Schlüsseln mit unterschiedlichen Präfixen enthält, und Sie müssen nur diese isolieren mit Schlüsseln, die mit einer bestimmten Zeichenfolge beginnen, z. B. „foo-“.
Funktioneller Ansatz
Um nur die Elemente beizubehalten, deren Schlüssel mit „foo-“ beginnen, verwenden Sie a Für den funktionalen Ansatz in PHP verwenden Sie die PHP-Funktion array_filter() zusammen mit einer anonymen Funktion, um jeden Schlüssel zu überprüfen:
<code class="php">$array = array_filter($array, function($key) { return strpos($key, 'foo-') === 0; }, ARRAY_FILTER_USE_KEY);</code>
Diese Funktion durchläuft das $array und gibt ein neues Array zurück, das nur die Elemente enthält, deren Schlüssel die Anforderungen erfüllen Bedingung, dass mit „foo-“ begonnen wird.
Prozeduraler Ansatz
Für einen prozeduralen Ansatz können Sie eine foreach-Schleife verwenden, um das $-Array zu durchlaufen und das Array manuell auszuwählen gewünschte Elemente:
<code class="php">$only_foo = array(); foreach ($array as $key => $value) { if (strpos($key, 'foo-') === 0) { $only_foo[$key] = $value; } }</code>
In diesem Fall wird das Array $only_foo manuell mit den Elementen gefüllt, die das Schlüsselpräfixkriterium erfüllen.
Prozeduraler Ansatz mit Objekten
Mithilfe von OOP können Sie die ArrayIterator-Klasse verwenden, um über das $array zu iterieren und die gewünschten Elemente zu 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>
Dieses Mal bietet der ArrayIterator die Möglichkeit, Arrays mithilfe objektorientierter Konstrukte zu verarbeiten .
Das obige ist der detaillierte Inhalt vonWie filtere ich Array-Elemente basierend auf dem Schlüsselpräfix in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!