牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2013-08-19 投稿人: 浏览次数:161

在本地(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之后的版本才被支持。具体的原因还没有去考究。这是个有时间值得去搞清楚的问题。


本文也发表在我的独立博客blog.mc-zone.me上,点击 访问此文

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。