PHP 5.3以下版本 无法用下标直接取得函数返回的数组

在本地(PHP 5.5.2环境)上编写的一段代码中有这样的操作:

...
echo multiLang('menu')[0];

mutiLang用于在多语言条件下,判断返回结果,返回值为一维数组。

本地上没有发现任何问题,程序上传服务器却出现了报错。

syntax error, unexpected '[', expecting ';'

意为有一个未预料到的’ [ ‘ 而不是’; ‘

改为这样的写法:

$tmp = multiLang('menu');
echo $tmp[0];


却正常输出了。
检查各方面均未发现错误。后来上网Google,发现有可能是版本不支持的问题。服务器当时的版本为5.2.17。于是在服务器部署切换到PHP5.4.18. 发现不再报错了,运行正常。

原来这种表达方式在PHP 5.3之后的版本才被支持。具体的原因还没有去考究。这是个有时间值得去搞清楚的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值