我找到了一个PHP库,其中一行是:
$this->get_soap_provider_options()['location'];
但这会产生错误:
Parse error: syntax error, unexpected '[' in ...path to file.. at line...
我无法理解为什么['location']
是在函数参数get_soap_provider_options()
之后编写的。它应该是get_soap_provider_options('location')
或get_soap_provider_options(array('location'))
或类似的东西。
我认为这行代码适用于PHP 5.4或更高版本。如何为旧版本的PHP编写此行?
答案 0 :(得分:0)
您对 PHP> = 5.4 所说的内容是正确的。此语法用于访问函数返回的数组。这称为array dereferencing(来自函数或方法)。
从 PHP<中访问数组中的值5.4 您必须将函数或方法的结果存储在变量中。这个变量将作为一个临时的"变量(参见文档中的示例7 ):
$tmp = $this->get_soap_provider_options();
// now you can use > $tmp['location']; <
// ^^^^^^^^^^^^^^^^^