Heim >Backend-Entwicklung >PHP-Tutorial >Welche PHP-Array-Funktion ist die richtige für Sie: array_map, array_walk oder array_filter?

Welche PHP-Array-Funktion ist die richtige für Sie: array_map, array_walk oder array_filter?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 07:09:30672Durchsuche

Which PHP Array Function is Right for You: array_map, array_walk, or array_filter?

Den Unterschied zwischen array_map, array_walk und array_filter verstehen

In PHP werden diese drei Funktionen häufig zur Array-Manipulation verwendet. Während sie Ähnlichkeiten bei der Verwendung von Rückruffunktionen aufweisen, unterscheiden sie sich in ihrem spezifischen Verhalten.

array_map:

  • Das ursprüngliche Array kann nicht geändert werden.
  • Iteriert über ein einzelnes Array.
  • Gibt ein neues Array mit transformierten Werten zurück.
  • Nützlich zum Anwenden einer bestimmten Operation auf jedes Element in einem Array.

array_walk:

  • Kann das ursprüngliche Array ändern.
  • Iteriert über ein einzelnes Array.
  • Gibt nur true zurück.
  • Nützlich zum Ausführen von Vorgängen, die Zugriff auf Array-Schlüssel oder das Ändern von Elementwerten erfordern.

array_filter:

  • Filtert ein Array basierend auf einer Prädikatfunktion.
  • Array-Schlüssel bleiben erhalten.
  • Gibt ein neues Array zurück, das nur die Elemente enthält, die die Filterbedingung erfüllen.

Hauptunterschiede:

Um die Unterschiede zu veranschaulichen, betrachten wir das folgende Beispiel:

<code class="php">$numbers = [2.4, 2.6, 3.5];

$map_result = array_map('floor', $numbers); // Round down each element
$walk_result = array_walk($numbers, function (&$v, $k) { $v = floor($v); }); // Round down each element in-place
$filter_result = array_filter($numbers, function ($a) { return $a > 2.5; }); // Filter out elements less than 2.5</code>

Ausgabe:

  • map_result: [2, 2, 3]
  • walk_result: true (kein Rückgabewert)
  • filter_result: [2.6, 3.5]

Wie Sie sehen können, erstellt array_map ein neues transformiertes Array, während array_walk Ändert das ursprüngliche Array direkt. array_filter gibt eine Teilmenge des ursprünglichen Arrays basierend auf der bereitgestellten Bedingung zurück.

Zusammenfassend lässt sich sagen, dass array_map, array_walk und array_filter zwar Ähnlichkeiten aufweisen, sich jedoch in ihren Fähigkeiten unterscheiden und für verschiedene Anwendungsfälle am besten geeignet sind. Die Auswahl der geeigneten Funktion hängt von den spezifischen Anforderungen der jeweiligen Aufgabe ab.

Das obige ist der detaillierte Inhalt vonWelche PHP-Array-Funktion ist die richtige für Sie: array_map, array_walk oder array_filter?. 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