Как называется оператор []?

Рассматриваемый оператор может использоваться для помещения значений в массивы:

$array []= $value

В статье на php.net о array_push несколько раз говорится об этом, но это, кажется, не упоминает его имя.


person Emanuil Rusev    schedule 05.08.2013    source источник
comment
Это оператор индекса массива. Подробнее о том, как его перегрузить, можно узнать здесь   -  person Mike Corcoran    schedule 05.08.2013
comment
...или синтаксис квадратных скобок: php.net/manual/de/language. типы.array.php   -  person karim79    schedule 05.08.2013
comment
давайте назовем это NEW_ELEMENT_INLINE_OPERATOR? но вы можете выбрать любое имя или название для вызова этой структуры :-)   -  person Alex    schedule 10.01.2015


Ответы (2)


Как называется оператор «[]»?

Здесь нет специального имени. В документах PHP это просто называется синтаксис квадратных скобок.

Примечание. Это не $arr []=, а $arr[] =. Хотя PHP игнорирует пробелы, его не следует путать с другими сокращениями.

Если вам нужно знать, что делает $arr[] = ..., см. ответ Флэшина.

person Jason McCreary    schedule 05.08.2013
comment
Не могли бы вы привести пример других стенографических заданий? - person Emanuil Rusev; 06.08.2013
comment
Конечно. Такие вещи, как +=, -=, &= и т. д. Хотя это может сработать, запись назначения массива в виде []= встречается нечасто. То есть квадратные скобки связаны с переменной, а не с =. - person Jason McCreary; 06.08.2013

Вы могли бы считать это оператором массива. Однако не знаю, есть ли для него точное имя.

Создание/изменение с помощью синтаксиса квадратных скобок Существующий массив можно изменить, явно задав в нем значения.

Это делается путем присвоения значений массиву с указанием ключа в скобках. Ключ также может быть опущен, что приведет к пустой паре квадратных скобок ([]).

$arr[key] = value;
$arr[] = value;
// key may be an integer or string
// value may be any value of any type

Если $arr еще не существует, он будет создан, так что это также альтернативный способ создания массива. Однако эта практика не рекомендуется, потому что если $arr уже содержит какое-то значение (например, строку из переменной запроса), то это значение останется на месте, а [] может фактически обозначать оператор доступа к строке. Всегда лучше инициализировать переменную прямым присвоением.

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

person Flashin    schedule 05.08.2013
comment
В приведенной вами цитате, похоже, не используется этот термин (то есть array operator). - person Emanuil Rusev; 06.08.2013