PHP 5.3以下版本 无法用下标直接取得函数返回的数组
2013-08-19 09:25
549 查看
在本地(PHP 5.5.2环境)上编写的一段代码中有这样的操作:
mutiLang用于在多语言条件下,判断返回结果,返回值为一维数组。
本地上没有发现任何问题,程序上传服务器却出现了报错。
syntax error, unexpected '[', expecting ';'
意为有一个未预料到的' [ ' 而不是'; '
改为这样的写法:
却正常输出了。
检查各方面均未发现错误。
后来上网Google,发现有可能是版本不支持的问题。
服务器当时的版本为5.2.17。于是在服务器部署切换到PHP5.4.18. 发现不再报错了,运行正常。
原来这种表达方式在PHP 5.3之后的版本才被支持。具体的原因还没有去考究。这是个有时间值得去搞清楚的问题。
本文也发表在我的独立博客blog.mc-zone.me上,点击
访问此文
... 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之后的版本才被支持。具体的原因还没有去考究。这是个有时间值得去搞清楚的问题。
本文也发表在我的独立博客blog.mc-zone.me上,点击
访问此文
相关文章推荐
- PHP 5.3以下版本 无法用下标直接取得函数返回的数组
- 关于Xdebug 在PHP5.3中无法取得local variable值的问题解决
- php 返回一个数组中特定值的所有下标
- php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
- php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
- php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
- php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
- php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
- php使用gettimeofday函数返回当前时间并存放在关联数组里
- php中利用函数json_decode将json转化为数组,返回为null
- php数组函数序列之array_search()- 按元素值返回键名
- php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
- PHP5.5在IIS7.5上无法运行,改用5.3版本后正常
- php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
- php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
- 修正ECMALL在PHP5.3以上版本中无法开启支付方式的BUG
- PHP数组对比函数,存在交集则返回真,否则返回假
- php-Arrays 函数-array_search-在数组中查找给定的值并返回相应的键名
- PHP 5.3 与老版本函数差异总结
- php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值