7

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

$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 在访问嵌套数组方面是否有任何区别,或者我有一些默认的 PHP 配置在客户端机器上设置不同?

4

1 回答 1

20

您正在使用的数组取消引用是在 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' ];
于 2013-05-25T16:00:34.773 回答