猿问

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

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

我正在尝试访问嵌套数组元素,如下所示:

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

它在Module.phpZend的框架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在访问嵌套数组方面有什么区别,或者我有一些默认的PHP配置在客户机上设置不同?


慕森卡
浏览 359回答 1
1回答

Helenr

您正在使用的数组解除引用是在PHP 5.4中引入的,并且在PHP 5.3中不起作用。所以$dbSettings&nbsp;=&nbsp;$sm->get(&nbsp;'Config'&nbsp;)[&nbsp;'doctrine'&nbsp;][&nbsp;'connection'&nbsp;][&nbsp;'orm_default'&nbsp;][&nbsp;'params'&nbsp;];需要是:$dbSettings&nbsp;=&nbsp;$sm->get(&nbsp;'Config'&nbsp;);$params&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;$dbSettings[&nbsp;'doctrine'&nbsp;][&nbsp;'connection'&nbsp;][&nbsp;'orm_default'&nbsp;][&nbsp;'params'&nbsp;];
随时随地看视频慕课网APP
我要回答