Puede instanciar una matriz en PHP utilizando la palabra clave new
, sin embargo, es un poco más voluminosa que las matrices creadas con la función array()
y no utiliza la misma llamada.
new ArrayObject();
crearemos una matriz como objeto. Más importante aún, esta es una clase extensible, en caso de que desee utilizar una sintaxis de matriz con un objeto en PHP orientado a objetos. En la mayoría de los casos, es aconsejable usar array()
para mayor velocidad y simplicidad.
Edición: supongo que nunca respondí la pregunta.
$var = array();
$var[] = 'car';
creará una nueva matriz vacía y luego agregará 'auto' a la matriz. Es una buena forma de inicializar cualquiera y todas las matrices. Sería mejor escribir estas dos líneas como uno: $var = array('car');
$var[] = 'car';
hará una nueva matriz con 'coche' en ella, si $var
no es una matriz o está vacía.Si $var
pasa a haber sido declarado como matriz, es posible que haya guardado accidentalmente algunos valores anteriores (por lo que es una buena forma de inicializar sus matrices).
$var = new ArrayObject();
$var[] = 'car';
es la forma de OOP para declarar una matriz. Es un poco más recursos, lo que se adhieren con array()
menos que tenga una buena razón para usar ArrayObject
Nota:
incrementar una variable numérica sin inicializar es significativamente más lento que incrementar una variable numérica inicializado ($i++
es más lento que $i = 0; $i++
). Este no es el caso de las matrices en php: ($var[] = 'car'
es aproximadamente el mismo que $var = array(); $var[] = 'car'
)
tiene sentido, gracias! – mattypie
+1. Solo quiero señalar que * "En PHP, lo nuevo se usa solo para crear instancias de objetos." * ... En Javascript también, es solo que 'Array' es un objeto en Javascript, mientras que en PHP, es un mapa ordenado (algo Javascript no tiene por decir, porque un mapa ordenado en JS es un objeto). – netcoder
Tienes toda la razón. Las matrices asociativas en Javascript son objetos. – stillstanding