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

Wie extrahiere ich Array-Elemente basierend auf einem bestimmten Schlüsselpräfix in PHP?

DDD
DDDOriginal
2024-10-28 18:08:02718Durchsuche

How to Extract Array Elements Based on a Specific Key Prefix 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!

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