Heim > Artikel > Backend-Entwicklung > Leistungsvergleich zwischen PHP array_push und $arr[]=$value
array_push-Methode schiebt ein oder mehrere Elemente an das Ende des Arrays.
int array_push ( array &$array , mixed $var [, mixed $... ] )
array_push() behandelt das Array als Stapel und schiebt die übergebenen Variablen an das Ende des Arrays. Die Länge des Arrays erhöht sich entsprechend der Anzahl der auf den Stapel verschobenen Variablen.
Derselbe Effekt wie der folgende:
<?php$arr[] = $value;?>
Verwenden Sie array_push, um 1.000.000 zu pushen Elemente
<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i++){ array_push($arr, $i); }$endtime = get_microtime(); printf("run time %f ms\r\n", ($endtime-$starttime)*1000);function get_microtime(){ list($usec, $sec) = explode(' ', microtime()); return (float)$usec + (float)$sec; }?>
Ausführungszeit: 2735,545158 ms
Push 100000 Elemente mit $arr[] = $value
<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i++){ $arr[] = $i; }$endtime = get_microtime(); printf("run time %f ms\r\n", ($endtime-$starttime)*1000);function get_microtime(){ list($usec, $sec) = explode(' ', microtime()); return (float)$usec + (float)$sec; }?>
Ausführungszeit: 417,458057 ms
Ergebnis: Drücken Sie jeweils ein Element, verwenden Sie $arr [ ]=$value ist 7 mal schneller als die Verwendung der Methode array_push.
Verwenden Sie die array_push-Methode, um 100.000 Elemente zu übertragen, jeweils 50 Elemente
<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i=$i+50){ array_push($arr, $i,$i+1,$i+2,$i+3,$i+4,$i+5,$i+6,$i+7,$i+8,$i+9,$i+10, $i+11,$i+12,$i+13,$i+14,$i+15,$i+16,$i+17,$i+18,$i+19, $i+21,$i+22,$i+23,$i+24,$i+25,$i+26,$i+27,$i+28,$i+29, $i+31,$i+32,$i+33,$i+34,$i+35,$i+36,$i+37,$i+38,$i+39, $i+41,$i+42,$i+43,$i+44,$i+45,$i+46,$i+47,$i+48,$i+49); }$endtime = get_microtime(); printf("run time %f ms\r\n", ($endtime-$starttime)*1000);function get_microtime(){ list($usec, $sec) = explode(' ', microtime()); return (float)$usec + (float)$sec; }?>
Ausführungszeit: 250,149012 ms
Ergebnis: Verwenden Sie array_push, um mehrere Elemente gleichzeitig zu pushen, was besser ist als mehrere mal Verwenden Sie $arr[]=$value, um schnell zu pushen. Je mehr Elemente array_push gleichzeitig einfügt, desto effizienter ist es.
Wenn Sie ein Element pushen, ist die Verwendung von $arr[]=$value effizient, da dadurch die zusätzliche Belastung durch das Aufrufen von Funktionen eingespart wird.
Wenn mehrere Elemente gleichzeitig gepusht werden, ist die Verwendung von array_push effizienter, da nicht wiederholt der Zeiger auf das Ende der Datei abgerufen werden muss.
Ergebnis: Das Pushen jeweils eines Elements mit $arr[]=$value ist schneller als mit der Methode array_push 7 mal.
In diesem Artikel wird der Leistungsvergleich zwischen php array_push und $arr[]=$value erläutert. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Anleitung zur Verwendung der MySQL-Zeitstempelformatierungsfunktion from_unixtime
Anleitung zur Verwendung der MySQL-Funktionen concat und group_concat
Erklärung zum Umgang mit MySQL-Innodb-Startfehlern und nicht möglichem Neustart
Das obige ist der detaillierte Inhalt vonLeistungsvergleich zwischen PHP array_push und $arr[]=$value. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!