Maison >développement back-end >tutoriel php >Comparaison des performances entre php array_push et $arr[]=$value
array_push pousse un ou plusieurs éléments à la fin du tableau.
int array_push ( array &$array , mixed $var [, mixed $... ] )
array_push() traite le tableau comme une pile et pousse les variables transmises à la fin du tableau. La longueur du tableau augmentera en fonction du nombre de variables placées sur la pile.
Le même effet que ce qui suit :
<?php$arr[] = $value;?>
Utilisez array_push pour push 1000000 Elements
<?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; }?>
Durée d'exécution : 2735.545158 ms
Push en utilisant $arr[] = $value 100000 éléments
<?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; }?>
Temps d'exécution : 417.458057 ms
Résultat : pousser un élément à chaque fois, en utilisant $arr[]=$value est 7 fois plus rapide que l'utilisation de la méthode array_push.
Utilisez la méthode array_push pour pousser 100 000 éléments, 50 éléments à chaque fois
<?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; }?>
Temps d'exécution : 250,149012 ms
Résultat : utilisez array_push pour pousser plusieurs éléments à la fois, puis utilisez $arr[]=$value plusieurs fois pour pousser rapidement. Plus array_push introduit d'éléments en même temps, plus il est efficace.
Si vous poussez un élément, l'utilisation de $arr[]=$value est efficace car elle évite la charge supplémentaire d'appeler des fonctions.
Si plusieurs éléments sont poussés en même temps, l'utilisation de array_push est plus efficace car il n'est pas nécessaire d'obtenir à plusieurs reprises le pointeur vers la fin du fichier.
Résultat : pousser un élément à la fois, en utilisant $arr[]=$value est plus rapide que d'utiliser la méthode array_push 7 fois.
Cet article explique la comparaison des performances entre php array_push et $arr[]=$value Pour plus de contenu connexe, veuillez faire attention au site Web chinois de php.
Recommandations associées :
Instructions sur l'utilisation de la fonction de formatage de l'horodatage mysql from_unixtime
Instructions sur l'utilisation des fonctions mysql concat et group_concat
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!