Сокращение для массивов: существует литальный синтаксис, например {} или []?

Что такое сокращенное обозначение массива в PHP?

Я пытался использовать (не работает):

$list = {};

Это будет прекрасно, если вы дадите ссылки на некоторую информацию о других сокращениях для PHP.

Ответ 1

Update:
Начиная с PHP 5.4.0 был введен сокращенный синтаксис для объявления массивов:

$list = [];

Предыдущий ответ:

Нет. Только $list = array(); Но вы можете просто начать добавлять элементы.

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

Совершенно нормально, насколько это касается PHP. Вы даже не получите E_NOTICE для переменных undefined.

Ошибка уровня E_NOTICE выдается в случае работы с неинициализированными переменных, однако не в случае добавление элементов в неинициализированный массив.

Что касается стенографических методов, то их много разбросано. Если вы хотите найти их, просто прочитайте Руководство.

Некоторые примеры, просто для вашего удовольствия:

  • $arr[] сокращенное обозначение array_push.
  • Конструкция foreach
  • echo $string1, $string2, $string3;
  • Конкатенация массива с помощью +
  • Существование elseif
  • Переменные вложения в строки, $name = 'Jack'; echo "Hello $name";

Ответ 2

ДА, он существует!!

Извлечен из другого вопроса о переполнении:

Сокращенный синтаксис для массивов был пересмотрен, принят и теперь находится на пути к выпуску с PHP 5.4

Использование:

$list = [];

Ссылка: PHP 5.4 Short Hand для массивов

Ответ 3

Также можно определить содержимое внутри [] следующим образом:

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

Это будет работать только в php5.4 и выше.

Ответ 5

Нет, это было предложено и отклонено сообществом, поэтому на данный момент только синтаксис для массивов array().

Ответ 6

Единственный способ определить массив в php - это конструктор языка array(). PHP не имеет сокращений для литералов массивов, как это делают некоторые другие языки.

Ответ 7

Я просто вставляю строки в массив следующим образом:

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

Ответ 8

Вы можете объявить свой массив следующим образом:

$myArray1 = array(num1, num2, num3);
$myArray2 = array('string1', 'string2', 'string3');
$myArray3 = array( 'stringkey1'=>'stringvalue1', 'stringkey2'=>'stringvalue2');
$myArray4 = array( 'stringkey1'=>numValue1, 'stringkey2'=>numValue2);
$myArray5 = array( numkey1=>'stringvalue1', numkey2=>'stringvalue2');
$myArray6 = array( numkey1=>numValue1, numkey2=>numValue2);

У вас может быть столько встроенных массивов, сколько вам нужно.