2010-12-03 25 views
5

¿Cuál es más rápido cuando se agregan variables a una matriz?

  1. $ variable [] = $ newValue;
  2. array_push ($ variable, $ newValue);

y mencione la diferencia entre los dos, si corresponde.

+11

No importa. Ambos son increíblemente rápidos y la diferencia es insignificante. Deje de sobreutilizar su código. Enfócate en problemas reales. –

+0

¿Qué pasó cuando lo probaste? – symcbean

+0

Tuve instancias en las que array_push no funcionaba para una matriz multidimensional, pero la asignación directa sí. Entonces, a menos que trabaje con una matriz muy grande, le digo que vaya con lo que se sienta cómodo (¡o funcione!). – thethakuri

Respuesta

17

http://www.php.net/manual/en/function.array-push.php#53289

soporte Empy d No se comprueba si una variable es primero una matriz como array_push. Si array_push encuentra que una variable no es una matriz, imprime un mensaje de advertencia si el informe de errores E_ALL está activado.

Así que array_push es más seguro que [], hasta Además, esto es modificado por los desarrolladores de PHP .

$variable[] parece ser mucho más rápido:

http://www.php.net/manual/en/function.array-push.php#83388

Sin embargo si va a añadir múltiples valores por iteración array_push() es más rápido:

http://www.php.net/manual/en/function.array-push.php#84959

Pero, por favor recuerda que pr La optimización electrónica es la raíz de todo mal. Use lo que le parezca más cómodo y, cuando tenga un problema de rendimiento, use un generador de perfiles y realice una evaluación comparativa.

8

Deja de hacer cosas raras y toma el perfil para obtener un verdadero cuello de botella.

ps: no hay diferencia.

pps: aquí es algo típico:

  1. ¿La velocidad de aplicación que satisface? Si no - el paso 2, si es así - el paso 6
  2. Tome el perfilador
  3. Encuentra la más lento parte
  4. optimizarlo para que sea más rápido
  5. Ir al paso 1
  6. conseguir un poco de cerveza
Cuestiones relacionadas