[Resuelto] Mejor forma de declarar un array vacio?

Iniciado por @XSStringManolo, 1 Octubre 2019, 03:20 AM

0 Miembros y 1 Visitante están viendo este tema.

@XSStringManolo

Código (php) [Seleccionar]
$vacio = [];
$vacio2 = array();


Cual es mejor? O son iguales?

engel lex

es exactamente lo mismo, array() es conservado por razones de compatibilidad con programas en PHP<5.4
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

@XSStringManolo

No hay problemas en que use la función array no? O está deprecated?

engel lex

Cita de: string Manolo en  1 Octubre 2019, 16:55 PM
No hay problemas en que use la función array no? O está deprecated?

no es malo, no cambia nada y no está obsoleta ni parece que vaya estarlo durante php7 o en php8
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

@XSStringManolo


engel lex

estás leyendo mal, o mejor cita exactamente donde

te puedo decir a bajo nivel array() y [] son alias

https://www.php.net/manual/en/language.types.array.php

CitarAs of PHP 5.4 you can also use the short array syntax, which replaces array() with [].


de todas formas, prueba tu...

Código (php) [Seleccionar]
$time1 = microtime(true) ;
for($i = 0; $i < 1000000; $i++){  
   $n = [];
   $n[] = $i;
}
$time1 = microtime(true) - $time1;

$time2 = microtime(true) ;
for($i = 0; $i < 1000000; $i++){  
   $n = array();
   $n[] = $i;
}
$time2 = microtime(true) -$time2;

$time3 = microtime(true) ;
$time3 = microtime(true) -$time3;
echo "tiempo [] = $time1 <br> tiempo array() = $time2 <br> $time3";


Citartiempo [] = 0.36065483093262
tiempo array() = 0.36259293556213
9.5367431640625E-7


un millon de puntos de comparación solo por ser algo grande, agregando 1 elemento al array para evitar el reuso de elementos de la ram (prediccion del cpu) y al final con una operacion de tiempo bruta para asegurarme que es un tiempo real de ejecución y no un error en el microtime

la diferencia está cerca del 0.5% que puede considerarse un error estadistico... (multiple ejecuciones con errores rondando esto) en php 7.3
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MinusFour

El que escribió ese artículo estaba pensando en javascript:

CitarIn other words, the initialization of new array is faster, use syntax var first = [] rather while using syntax var first = new Array()

Lo cual es muy diferente en PHP.

@XSStringManolo

Cita de: MinusFour en  2 Octubre 2019, 19:42 PM
El que escribió ese artículo estaba pensando en javascript:

Lo cual es muy diferente en PHP.
Por eso me lié xD