具有数据对象的多维数组的签名可能性有哪些?

时间:2011-06-19 17:18:31

标签: php oop data-structures multidimensional-array

A recent post给出了一个示例,用于在框架中使用数据对象定位多维数组嵌套中的值。这个问题的答案结果是一长串与“ - >”相关的名字。与此类似的运算符(使用实际的命名对象和数组,其中我使用通用术语):

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

不幸的是,在我发布澄清问题之前,该帖子已经关闭:(我见过类似的例子,

$object->($object->property)

...使用括号。还有其他语法变体吗?在PHP中编写这些语句的语法限制是什么?

1 个答案:

答案 0 :(得分:3)

$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