我有一个返回数组的函数。我有另一个函数只返回第一行,但由于某种原因,它使我使用一个中间变量,即失败:
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中自学成才 - 有什么理由说我不能直接这样做,我错过了吗?
答案 0 :(得分:25)
答案 1 :(得分:2)
这种行为的原因是PHP函数不能像JavaScript函数那样被链接。就像document.getElementsByTagNames('a')[0]
一样可能。
您必须坚持PHP版本的第二种方法< 5.4
添加了函数数组解除引用,例如FOO()[0]。