Heim  >  Artikel  >  Backend-Entwicklung  >  Wie unterscheiden sich „array_map“, „array_walk“ und „array_filter“ in ihren Array-Manipulationstechniken?

Wie unterscheiden sich „array_map“, „array_walk“ und „array_filter“ in ihren Array-Manipulationstechniken?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 04:22:03853Durchsuche

 How Do `array_map`, `array_walk`, and `array_filter` Differ in Their Array Manipulation Techniques?

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 (&amp;$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!

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