一尘不染

在PHP 5.3和5.4中访问数组的差异或某些配置不匹配?

php

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

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

它在Module.phpZend的Framework 2项目中。$sm->get('Config')返回一个数组,我可以使用PHP
5.4在本地使用上述代码访问该数组,同时在客户端计算机上执行此操作,这会给我一个错误:

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

PHP 5.3 <=> 5.4在访问嵌套数组方面是否有任何区别,或者我在客户端machne上设置了一些不同的默认PHP配置?


阅读 357

收藏
2020-05-26

共1个答案

一尘不染

数组取消引用是您正在使用的,是在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' ];
2020-05-26