首页 新闻 会员 周边

php 框架cakephp读取变量问题

0
悬赏园豆:200 [已解决问题] 解决于 2013-11-21 10:15

bootstrap.php中设置:

Configure::write('top_menu_show_count',
    array(
        'PC' => 8,
        'SP' => 3,
    )
);

调用

如下写法在win7系统下会报语法错误,MAC不会有这个问题:
$pc_count = Configure::read('top_menu_show_count')['PC'];

换成以下写法,没问题:
$tmpParams = Configure::read('top_menu_show_count');
$pc_count = $tmpParams['PC']

想知道上面报错的的原因?

zujun的主页 zujun | 初学一级 | 园豆:8
提问于:2013-11-20 16:41
< >
分享
最佳答案
0

这个好像是php版本问题,好像是比较新的版本才支持这样访问数组的~

收获园豆:190
小伍2013 | 小虾三级 |园豆:1291 | 2013-11-21 08:41

找了很久终于找到了,是PHP 5.4.0新增的特性:

  • 新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。
小伍2013 | 园豆:1291 (小虾三级) | 2013-11-21 08:46

@斯诺登: 还没解释为什么在两个系统不同,两个系统装的版本不同???

angelshelter | 园豆:9887 (大侠五级) | 2013-11-21 09:21

@斯诺登: 已确认。本地已经测试通过。

参考url:

http://www.php.net/manual/zh/migration54.new-features.php

 

错误的以为是系统的区别,没有认识到问题的本质。

非常感谢。

zujun | 园豆:8 (初学一级) | 2013-11-21 10:14

@angelshelter: 嗯,不关系统的事,他应该是Mac系统装了PHP5.4+的版本,Win装了PHP5.4-的版本导致的。

开发中建议统一服务器和本地环境,统一团队开发环境,代码注意向下兼容,尽量兼容到5.3+,可以避免很多不必要的问题。

小伍2013 | 园豆:1291 (小虾三级) | 2013-11-21 14:47
其他回答(1)
0

操作符优先级的问题?

收获园豆:10
angelshelter | 园豆:9887 (大侠五级) | 2013-11-20 17:49

你的意思是win7 和 mac php里的优先级不一样?

支持(0) 反对(0) zujun | 园豆:8 (初学一级) | 2013-11-20 19:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册