PHP数组语法分析错误左方括号“[”

我有一个函数返回一个数组。 我有另一个函数返回第一行,但由于某种原因,它使我使用一个中间变量,即失败:

function f1(/*some args*/) {
    return /*an array*/;
}
function f2(/*some args*/) {
    return f1(/*some args*/)[0];
}

。 。 。 有:

解析错误:语法错误,在第10行的util.php中出现意外的'[''

但是,这工作:

function f1(/*some args*/) {
    return /*an array*/;
}
function f2(/*some args*/) {
    $temp = f1(/*some args*/);
    return $temp[0];
}

我无法在网上找到任何相关的信息(我的搜索不断被“?”,“{”,“<”等)的人困惑。

我是用PHP自学的 - 有什么理由不能直接这样做,我错过了?


您不能使用函数数组解引用

return f1(/*some args*/)[0];

直到PHP 5.4.0及以上。


这种行为的原因是PHP函数不能像JavaScript函数那样链接。 就像document.getElementsByTagNames('a')[0]是可能的。

你必须坚持PHP版本<5.4的第二种方法

已添加函数数组解引用,例如foo()[0]。

http://php.net/manual/en/migration54.new-features.php

链接地址: http://www.djcxy.com/p/11955.html

上一篇: PHP Array Syntax Parse Error Left Square Bracket "["

下一篇: PHP 5.3.10 vs PHP 5.5.3 syntax error unexpected '['