Heim > Artikel > Backend-Entwicklung > Wie unterscheiden sich „array_map“, „array_walk“ und „array_filter“ in ihren Array-Manipulationstechniken?
Unterschiedliche Rollen: array_map, array_walk und array_filter
Während array_map, array_walk und array_filter alle die Übergabe einer Rückruffunktion zur Bearbeitung eines beinhalten Array, sie unterscheiden sich in ihrer Kernfunktionalität.
array_map zeichnet sich durch die Transformation von Array-Elementen aus. Es ordnet die Ausgabe des Rückrufs einem neuen Array mit der gleichen Länge wie das größte Eingabearray zu. Im Gegensatz zu array_walk behält array_map die Werte des ursprünglichen Arrays unverändert bei.
array_walk ist auf die direkte Änderung von Array-Elementen spezialisiert. Es durchläuft das Array, ruft den Rückruf für jedes Element auf und ermöglicht den Schlüsselzugriff. array_walk ändert das Eingabearray direkt, eine Funktion, die array_map fehlt.
array_filter behält selektiv Elemente basierend auf der Wahrheitsprüfung des Rückrufs bei. Es bereinigt das Eingabearray und erstellt ein neues Array, das nur die Elemente enthält, die den Filter passieren. array_filter behält im Gegensatz zu array_map Schlüssel bei, verändert aber im Gegensatz zu array_walk nicht das ursprüngliche Array.
Beispiel:
<code class="php">$array = [2.4, 2.6, 3.5]; $mapResult = array_map('floor', $array); // Stays the same print_r($mapResult); // [2, 2, 3] array_walk($array, function (&$v, $k) { $v = floor($v); }); // Alters the array print_r($array); // [2, 2, 3] $filterResult = array_filter($array, function ($v) { return $v > 2.5; }); // Preserves keys print_r($filterResult); // [2.6, 3.5]</code>
Das obige ist der detaillierte Inhalt vonWie unterscheiden sich „array_map“, „array_walk“ und „array_filter“ in ihren Array-Manipulationstechniken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!