使用[0]访问函数返回值时出现PHP语法错误

时间:2013-04-18 16:16:39

标签: php

最初这段代码在我的个人开发服务器上运行:

$id = str_split(md5(mt_rand()), 16)[0];

但是在另一台服务器上,(相同版本的Apache和PHP,我不知道远程php.ini是什么样的),代码抛出了这个错误:

Parse error: syntax error, unexpected '[' ...

我通过将代码更改为“

”来解决问题
$id = str_split(md5(mt_rand()), 16);
$id = $id[0];

然后后来改回原来尝试找出问题 - 但原始代码有效!为什么第一行代码会抛出语法错误?我试过寻找解释,但我不知道该怎么称呼这个问题。

1 个答案:

答案 0 :(得分:5)

直到PHP 5.4才使用这样的直接数组解引用。

您必须分配一个临时变量:

$arr = your_function();
$value = $arr[0];

请参见示例#7:http://php.net/manual/en/language.types.array.php