它是什么意思:$ this-> get_soap_provider_options()[' location']

时间:2017-06-13 06:56:50

标签: php soap

我找到了一个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编写此行?

1 个答案:

答案 0 :(得分:0)

您对 PHP> = 5.4 所说的内容是正确的。此语法用于访问函数返回的数组。这称为array dereferencing(来自函数或方法)。

PHP<中访问数组中的值5.4 您必须将函数或方法的结果存储在变量中。这个变量将作为一个临时的"变量(参见文档中的示例7 ):

$tmp = $this->get_soap_provider_options();
// now you can use > $tmp['location']; <
//                   ^^^^^^^^^^^^^^^^^