Каковы возможности подписи для многомерных массивов с объектами данных? - PullRequest
0 голосов
/ 19 июня 2011

A недавняя публикация дает пример нацеливания значения в гнезде многомерных массивов с объектами данных в каркасе.Ответ на этот вопрос оказался длинной строкой имен, связанных с операторами «->», подобными этому (с фактическими именованными объектами и массивами, где здесь я использую общие термины):

$object->object->object->array[index]->array['key']['key']->array['key']['key']

К сожалению, пост закрытпрежде чем я смог опубликовать свой уточняющий вопрос :( Я видел примеры, подобные этому,

$object->($object->property)

... с использованием круглых скобок. Существуют ли другие варианты синтаксиса? Каковы синтаксические ограничения для написания этих операторов вPHP?

1 Ответ

3 голосов
/ 19 июня 2011
$object->($object->property)

Не работает код PHP. Это даст синтаксическую ошибку. Но, вероятно, вы имели в виду:

$object->{$object->property}

Что работает так:

$object->foo = 'bar';
$object->property = 'foo';

echo $object->property; # foo
echo $object->{$object->property}; # bar

Сначала он оценит, что находится внутри скобок ({$object->property}), что составляет foo, а затем вернет $object->foo, что составляет bar.

...