Pregunta Taquigrafía para matrices: ¿hay una sintaxis literal como {} o []?


¿Cuál es la abreviatura de la notación de matriz en PHP?

Intenté usar (no funciona):

$list = {};

Será perfecto si proporciona enlaces sobre información sobre otras abreviaciones para PHP.


73
2017-11-24 21:53


origen


Respuestas:


Actualizar:
A partir de PHP 5.4.0 a sintaxis acortada para declarar matrices se ha introducido:

$list = [];

Respuesta anterior:

No hay Solamente $list = array(); Pero puedes comenzar a agregar elementos.

<?php
$list[] = 1;
$list['myKey'] = 2;
$list[42] = 3;

Está perfectamente bien en lo que respecta a PHP. Ni siquiera tendrás un E_NOTICE para variables indefinidas.

Se emite error de nivel E_NOTICE en el estuche   de trabajar sin inicializar   variables, sin embargo, no en el caso de   agregando elementos a la   matriz no inicializada

En cuanto a los métodos abreviados, hay muchos dispersos por todas partes. Si quieres encontrarlos, solo lee El manual.

Algunos ejemplos, solo para su diversión:

  1. $arr[] taquigrafía para array_push.
  2. los foreach construir
  3. echo $string1, $string2, $string3;
  4. Concatenación de matriz con +
  5. La existencia de elseif
  6. Incrustación variable en cadenas, $name = 'Jack'; echo "Hello $name";

114
2017-11-24 21:55



SÍ, ¡existe!

Extraído de otra pregunta de Desbordamiento de pila:

La sintaxis acortada para matrices ha sido rediscusada, aceptada y   ahora está en camino de ser lanzado con PHP 5.4

Uso:

$list = [];

Referencia: PHP 5.4 Mano corta para matrices


41
2017-12-03 09:05



También es posible definir contenido dentro de [] así:

  $array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']];

Esto solo funcionará en php5.4 y superior.


23
2017-07-22 08:17



No hay ninguno como PHP 5.3.

http://us.php.net/manual/en/language.types.array.php


5
2017-11-24 21:55



No, fue propuesto y rechazado por la comunidad, por lo que por ahora solo la sintaxis para las matrices es formación().


4
2017-11-24 21:57



La única forma de definir una matriz en php es mediante array() constructo de lenguaje. PHP no tiene una abreviatura para literales de matriz como lo hacen algunos otros lenguajes.


3
2017-11-24 21:55



Solo exploto cadenas en una matriz así:

$array = explode(",","0,1,2,3,4,5,6,7,8,9,10");

2
2018-04-17 02:04