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


что такое стенография для обозначения массива в PHP?

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

$list = {};

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

8 76

8 ответов:

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

$list = [];

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

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

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

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

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

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

некоторые примеры, просто для вашего развлечения:

  1. $arr[] обозначение array_push.
  2. The foreach построить
  3. echo $string1, $string2, $string3;
  4. объединение массива с +
  5. существование elseif
  6. встраивание переменных в строки,$name = 'Jack'; echo "Hello $name";

да, он существует!!

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

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

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

$list = [];

ссылки: PHP 5.4 короткая рука для массивов

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

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

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

по состоянию на PHP 5.3 их нет.

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

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

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

Я просто взрываю строки в массив вот так:

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

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

$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);

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