【问题标题】:PHP Array Syntax Parse Error Left Square Bracket "[" [closed]PHP数组语法解析错误左方括号“[”[关闭]
【发布时间】:2012-08-08 09:06:36
【问题描述】:

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

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 的 - 是否有一些我错过的无法直接做到这一点的原因?

【问题讨论】:

标签: php arrays function reference


【解决方案1】:

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

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

直到PHP 5.4.0 及以上。

【讨论】:

  • 道具揭示了这个正确的术语,它结束了对本应是一个简单问题的长期搜索。
【解决方案2】:

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

对于 PHP 版本 ,您必须坚持第二种方法

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-03
    • 2013-10-02
    • 1970-01-01
    • 2015-03-02
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多