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