我正在尝试像这样访问嵌套数组元素:
$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 - PHP 5.3 和 5.4 中访问数组的差异或某些配置不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16751348/