我正在尝试访问嵌套数组元素,如下所示:
$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
你正在使用的
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' ];