Die neu hinzugefügte Array-Funktion in PHP8 – array_map() ist eine effiziente Datenverarbeitungsmethode. Es kann die Elemente im Array einzeln verarbeiten, ohne das ursprüngliche Array zu ändern, und die Verarbeitungsergebnisse bilden ein neues Array. In diesem Artikel wird die Verwendung der Funktion array_map() und ihre Anwendung in der Datenverarbeitung vorgestellt.
1. Grundlegende Verwendung der Funktion array_map()
Die Syntax der Funktion array_map() lautet wie folgt:
array_map(callable $callback, array ...$arrays): array
Der erste Parameter dieser Funktion $callback ist eine aufrufbare Funktion oder Methode und der zweite Parameter ist ein oder mehrere Arrays. Die Funktion array_map() extrahiert Elemente mit derselben Indexposition aus dem im Parameter angegebenen Array, übergibt sie zur Verarbeitung an die Rückruffunktion und gibt die Verarbeitungsergebnisse in ein neues Array zurück. Daher müssen die übergebenen Array-Parameter die gleiche Länge haben.
Das Folgende ist ein einfaches Beispiel, das die Verwendung der Funktion array_map() zeigt, um die Elemente in einem Array zu quadrieren und ein neues Array zurückzugeben:
$array = [1, 2, 3, 4, 5]; function square($x) { return $x * $x; } $result = array_map('square', $array); print_r($result); // 输出:[1, 4, 9, 16, 25]
Im obigen Beispiel haben wir eine Funktion quadrat() definiert, die einen bestimmten Wert berechnen kann Das Quadrat der Zahl. Wir übergeben den Funktionsnamen als Parameter an die Funktion array_map(), übergeben das zu verarbeitende Array als zweiten Parameter und erhalten das neue Array zurück.
2. Erweiterte Verwendung der Funktion array_map()
Zusätzlich zur grundlegenden Verwendung verfügt die Funktion array_map() auch über einige erweiterte Verwendungsmöglichkeiten, die problemlos in der Datenverarbeitung angewendet werden können.
Die Funktion array_map() kann mehrere Arrays verarbeiten, Elemente an derselben Indexposition in verschiedenen Arrays kombinieren und sie an die Rückruffunktion übergeben. Das Folgende ist ein Beispiel für die Verwendung der Funktion array_map() zum Verarbeiten von zwei Arrays:
$array1 = [1, 2, 3]; $array2 = [4, 5, 6]; function combine($x, $y) { return $x * $y; } $result = array_map('combine', $array1, $array2); print_r($result); // 输出:[4, 10, 18]
Im obigen Beispiel haben wir eine Rückruffunktion combin() definiert, die Elemente an derselben Indexposition in den beiden Arrays multipliziert und zurückgibt Berechnungsergebnis. Wir übergeben den Funktionsnamen als Parameter an die Funktion array_map(), übergeben die beiden zu verarbeitenden Arrays als Parameter und erhalten das zurückgegebene neue Array.
Die Funktion array_map() kann auch mehrdimensionale Arrays verarbeiten. Für zweidimensionale Arrays oder höherdimensionale Arrays können Sie die zu verarbeitenden Dimensionen angeben. Das Folgende ist ein Beispiel für die Verwendung der Funktion array_map() zur Verarbeitung eines zweidimensionalen Arrays:
$array = [ [1, 2, 3], [4, 5, 6] ]; function sum($arr) { return array_sum($arr); } $result = array_map('sum', $array); print_r($result); // 输出:[6, 15]
Im obigen Beispiel definieren wir eine Rückruffunktion sum(), die die Summe der Elemente des Arrays berechnet und zurückgibt Berechnungsergebnis. Wir übergeben den Funktionsnamen als Parameter an die Funktion array_map(), übergeben das zu verarbeitende Array als Parameter und erhalten das zurückgegebene neue Array.
Bei der Verarbeitung mehrdimensionaler Arrays können wir den Dimensionsparameter angeben, um anzugeben, welche Dimension der Elemente verarbeitet werden sollen. Das Folgende ist ein Beispiel für die Verwendung der Funktion array_map() zum Verarbeiten eines dreidimensionalen Arrays:
$array = [ [ [1, 2], [3, 4] ], [ [5, 6], [7, 8] ] ]; function sum($arr) { return array_sum($arr); } $result = array_map('sum', array_column($array, 0), array_column($array, 1)); print_r($result); // 输出:[16, 20]
Im obigen Beispiel konvertieren wir das zu verarbeitende dreidimensionale Array in zwei zweidimensionale Arrays, von denen eines das ist Element der ersten Dimension und das andere Ein zweidimensionales Array enthält Elemente in der zweiten Dimension. Wir übergeben diese beiden Arrays gleichzeitig als Parameter an die Funktion array_map (), geben die Rückruffunktion sum () an und erhalten schließlich ein neues eindimensionales Array.
3. Leistungsoptimierung der Funktion array_map()
Bei der Verwendung der Funktion array_map() müssen wir auf die Probleme der Leistungsoptimierung achten. Wenn das zu verarbeitende Array groß ist und die Rückruffunktion für die Verarbeitung sehr einfach ist, können Sie die Verwendung einer foreach()-Schleife für die Datenverarbeitung in Betracht ziehen, um die Betriebseffizienz zu verbessern.
Das Folgende ist ein Leistungsvergleich der Verwendung der Funktion array_map() zur Verarbeitung großer Arrays:
$array = range(1, 100000); $start_time = microtime(true); function add1($n) { return $n + 1; } $result = array_map('add1', $array); $end_time = microtime(true); echo 'array_map()函数耗时:' . ($end_time - $start_time) . '秒'; $start_time = microtime(true); foreach ($array as &$n) { $n += 1; } $result = $array; $end_time = microtime(true); echo 'foreach()函数耗时:' . ($end_time - $start_time) . '秒';
Im obigen Beispiel verwenden wir die Funktion array_map() und die foreach()-Schleife, um ein Array mit 100.000 Elementen zu verarbeiten , zwei Die Methode besteht darin, zu jedem Element im Array 1 hinzuzufügen und ein neues Array zurückzugeben. Wie aus den laufenden Ergebnissen hervorgeht, ist die Verwendung von foreach() für die Datenverarbeitung schneller als die Verwendung der Funktion array_map().
4. Zusammenfassung: Die Funktion array_map() ist eine neu hinzugefügte effiziente Datenverarbeitungsmethode in PHP8. Sie kann die Elemente im Array verarbeiten, ohne das ursprüngliche Array zu ändern, und ein neues Array zurückgeben, das aus den Verarbeitungsergebnissen besteht. Zusätzlich zur grundlegenden Verwendung verfügt die Funktion array_map() auch über einige erweiterte Verwendungsmöglichkeiten, die bei der Datenverarbeitung angewendet werden können. Wenn wir jedoch die Funktion array_map() zur Datenverarbeitung verwenden, müssen wir auf die Aspekte der Leistungsoptimierung achten, um die Ausführungseffizienz des Codes zu verbessern.
Das obige ist der detaillierte Inhalt vonArray-Funktionen in PHP8: effiziente Datenverarbeitungsmethode von array_map(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!