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

我试图像这样访问嵌套的数组元素:

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

它在Zend框架2项目的Module.php中。 $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有什么区别,或者我有一些默认的PHPconfiguration,在客户机上设置不同?

数组解引用是您在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' ];