In PHP lauten die Array-Umkehrmethoden im Hinblick auf die Ausführungsgeschwindigkeit wie folgt: Die Funktion array_reverse() ist die schnellste, gefolgt von der manuellen Verwendung der for-Schleife und schließlich der manuellen Verwendung der while-Schleife. Wenn die Größe des Testarrays 10.000 beträgt, beträgt die Ausführungszeit von array_reverse() 0,0010440111160278 Millisekunden, die manuelle Umkehrung mit einer for-Schleife beträgt 0,0014300346374512 Millisekunden und die manuelle Umkehrung mit einer while-Schleife beträgt 0,0014059543609619 Millisekunden.
Die Array-Umkehr ist eine häufige Programmieraufgabe, die hauptsächlich zum Umkehren der Reihenfolge von Array-Elementen verwendet wird. Zu den gängigen Implementierungsmethoden in PHP gehören integrierte Funktionen und manuelle Schleifenoperationen. In diesem Artikel wird die Leistung der Hauptmethoden verglichen und Beispielcode als Referenz bereitgestellt.
Wir werden die folgenden Methoden vergleichen:
Erstellen Sie ein Array mit 10.000 Ganzzahlen und messen Sie die Ausführungszeit jeder Inversionsmethode.
$array = Bereich(1, 10000);
//array_reverse()
$start = microtime(true);
$reversed_array_array_reverse = array_reverse($array);
$end = microtime(true);
$time_array_reverse = $end - $start;
// Manuelle Umkehrung, „for“-Schleife verwenden $start = microtime(true);
$reversed_array_for = [];
for ($i = count($array) - 1; $i >= 0; $i--) {
$reversed_array_for[] = $array[$i];
}
$end = microtime(true);
$time_for = $end - $start;
// Manuelle Umkehrung, „while“-Schleife verwenden $start = microtime(true);
$reversed_array_while = [];
while (count($array) > 0) {
$reversed_array_while[] = array_pop($array);
}
$end = microtime(true);
$time_while = $end - $start;
// Ausgabeergebnis echo "Time: array_reverse(): " . $time_array_reverse . " Millisekunden\n";
echo "Zeit: manuelle Umkehrung, `for`-Schleife verwenden: " . $time_for . " Millisekunden\n";
echo "Zeit: manuelle Umkehrung, `while`-Schleife verwenden: " . $time_while . " Millisekunden\n";Im Test schnitt die Funktion array_reverse() am schnellsten ab, gefolgt von der manuellen Umkehrung der for-Schleife und schließlich der manuellen Umkehrung der while-Schleife. Das Ergebnis ist bei einer Array-Größe von 10.000 wie folgt:
Zeit: array_reverse(): 0,0010440111160278 Millisekunden Zeit: manuelle Umkehrung mit „for“-Schleife: 0,0014300346374512 Millisekunden Zeit: manuelle Umkehrung mit „while“-Schleife: 0,0014059543609619 Millisekunden
Für kleine Arrays ist array_reverse() die schnellste und einfachste Option. Mit zunehmender Array-Größe kann die Verwendung einer manuellen for-Schleife in manchen Fällen eine bessere Leistung erbringen, während while-Schleifen im Allgemeinen etwas langsamer sind. Die Auswahl der am besten geeigneten Array-Umkehrmethode basierend auf tatsächlichen Anwendungsszenarien kann die Leistung von PHP-Programmen effektiv optimieren.