PHP 5.3和5.4访问数组的区别或某些配置不匹配?

7

我正在尝试像这样访问嵌套的数组元素:

$dbSettings = $sm->get( 'Config' )[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ];

这段代码位于Zend框架2项目的Module.php文件内。在本地使用PHP 5.4时,$sm->get('Config')返回一个数组,我可以通过上述代码访问它。但是在客户端机器上操作时,会出现错误:

Parse error: syntax error, unexpected '[' in /home/.../azk/module/Main/Module.php on line 121

在访问嵌套数组方面,PHP 5.3和5.4有什么区别吗?还是我客户端机器上的默认PHP配置设置不同?

1个回答

20
数组解引用是您正在使用的功能,它在PHP 5.4中引入,在PHP 5.3中不起作用。

因此,

$dbSettings = $sm->get( 'Config' )[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ];

需要成为:

$dbSettings = $sm->get( 'Config' );
$params     = $dbSettings[ 'doctrine' ][ 'connection' ][ 'orm_default' ][ 'params' ];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接