Pas de repères, mais personnellement, je pense que comme $array[]
est plus propre à l'oeil, et honnêtement, le fractionnement des poils plus de millisecondes est peu pertinent, sauf si vous envisagez sur l'ajout de centaines de milliers de chaînes à votre tableau.
Edit: Ran ce code:
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
$array[] = $i;
}
print microtime(true) - $t;
print '<br>';
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
array_push($array, $i);
}
print microtime(true) - $t;
La première méthode à l'aide d' $array[]
est presque 50% plus rapide que la seconde.
Certains résultats de référence:
Run 1
0.0054171085357666 // array_push
0.0028800964355469 // array[]
Run 2
0.0054559707641602 // array_push
0.002892017364502 // array[]
Run 3
0.0055501461029053 // array_push
0.0028610229492188 // array[]
Cela ne devrait pas être surprenant, le manuel PHP notes:
Si vous utilisez array_push() pour ajouter un élément au tableau, il est préférable d'utiliser $array[] = car de cette façon il n'y a pas de frais généraux de l'appel d'une fonction.
La façon dont il est formulé, je ne serais pas surpris si array_push
est plus efficace lors de l'ajout de plusieurs valeurs. EDIT: par curiosité, fait quelques tests supplémentaires, et même pour un grand nombre d'ajouts, personne $array[]
des appels sont plus rapides que d'un gros array_push
. Intéressant.