No hay puntos de referencia, pero personalmente siento que $array[]
es más limpio de ver, y honestamente dividir los pelos en milisegundos es bastante irrelevante a menos que planee agregar cientos de miles de cadenas a su matriz.
Editar : ejecuté este código:
$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;
El primer método que se utiliza $array[]
es casi un 50% más rápido que el segundo.
Algunos resultados de referencia:
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[]
Esto no debería sorprender, ya que el manual de PHP señala esto:
Si usa array_push () para agregar un elemento a la matriz, es mejor usar $ array [] = porque de esa manera no hay sobrecarga de llamar a una función.
Por la forma en que está redactado, no me sorprendería que array_push
sea más eficiente al agregar múltiples valores. EDITAR : Por curiosidad, hice algunas pruebas adicionales, e incluso para una gran cantidad de adiciones, las $array[]
llamadas individuales son más rápidas que una grande array_push
. Interesante.