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

标签 php arrays zend-framework2

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

$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/

相关文章:

zend-framework2 - 如何从 Zend Framework 2 中的 Controller 执行控制台命令?

php - 从数据库/验证返回 ID

php - 开源语言识别库?

php - 具有动态相关文件的源代码编辑器可发现Dreamweaver等

objective-c - 结构体中的结构体数组 [Objective-c]

javascript - 每个的 Google Apps 脚本都会导致错误,但不会

Mysql 在插入时检查表中的最后一个条目

php - 计算给定网络中可用子网的数量

javascript - 警告 : Encountered two children with the same key, `[object Object]`

zend-framework2 - zf2 ModuleManager 配置合并 - 删除 key