如何将两行数组和对象选择合二为一?

时间:2013-12-25 07:48:28

标签: php

我有两行代码:

$arr1 = $obj1->$arr2[$obj2->prop1];

echo $arr1[0]->prop2;

我希望将它们放在一行,如下:

$arr1 = ($obj1->$arr2[$obj2->prop1])[0]->prop2;

但是当我尝试这样做时,PHP会抛出错误

Parse error: syntax error, unexpected '[' in ...

是否有可能以某种方式将这两条线组合成一条线?我也尝试在第一部分周围使用括号和方括号而不是括号,但没有快乐。

1 个答案:

答案 0 :(得分:2)

您的代码可能写成:

$arr1 = $obj1->{$arr2[$obj2->prop1]}[0]->prop2;

- 我正在将$arr2视为您要申请取消引用对象的变量。