Сокращение для массивов: есть ли литеральный синтаксис, такой как {} или []?
что такое стенография для обозначения массива в PHP?
Я пытался использовать (не работает):
$list = {};
это будет прекрасно, если вы дадите ссылки на некоторую информацию о других сокращениях для PHP.
8 ответов:
обновление:
Начиная с PHP 5.4.0 a сокращенный синтаксис для объявления массивов было введено:$list = [];
Предыдущий Ответ:
нет. Только
$list = array();
но вы можете просто начать добавлять элементы.<?php $list[] = 1; $list['myKey'] = 2; $list[42] = 3;
это совершенно нормально, что касается PHP. Вы даже не получите E_NOTICE для неопределенных переменных.
уровня E_NOTICE ошибка выдается в случае работы с неинициализированными переменные, однако не в случае добавление элементов к неинициализированный массив.
что касается методов стенографии, есть много разбросанных по всему. Если вы хотите найти их просто читать Руководство.
некоторые примеры, просто для вашего развлечения:
$arr[]
обозначениеarray_push
.- The
foreach
построитьecho $string1, $string2, $string3;
- объединение массива с
+
- существование
elseif
- встраивание переменных в строки,
$name = 'Jack'; echo "Hello $name";
да, он существует!!
извлечено из другого вопроса переполнения стека:
сокращенный синтаксис для массивов был повторно рассмотрен, принят и сейчас на подходе релиз с PHP 5.4
использование:
$list = [];
также можно определить содержимое внутри [ ] следующим образом:
$array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']];
Это будет работать только в php5. 4 и выше.
нет, он был предложен и отклонен сообществом, поэтому пока только синтаксис для массивов array ().
единственный способ определить массив в PHP-это
array()
языковая конструкция. PHP не имеет стенографии для литералов массива, как это делают некоторые другие языки.
можно объявить массив следующим образом:
$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);
вы можете иметь столько встроенных массивов, сколько вам нужно.