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

前端之家收集整理的这篇文章主要介绍了在PHP 5.3和5.4中访问数组的差异或某些配置不匹配?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试访问嵌套数组元素,如下所示:
$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访问嵌套数组或我有一些默认的PHP配置,在客户机上设置不同?

你正在使用的 Array dereferencing是在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' ];

猜你在找的PHP相关文章