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

Wie filtere ich Array-Elemente basierend auf dem Schlüsselpräfix in PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 11:42:02753Durchsuche

How to Filter Array Elements Based on Key Prefix in PHP?

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!

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