为什么在PHP中对函数进行操作之前必须将函数返回值赋值给变量

puk*_*puk 2 php function return-value

如果我有这样的功能:

function foo(){
 return array("hello" => "world");
}
Run Code Online (Sandbox Code Playgroud)

我无法调用该函数并对返回值进行操作

$test = foo()["hello"];
Run Code Online (Sandbox Code Playgroud)

相反,我必须将它分成两行,如此

$test = foo();
$test = $test["hello"];
Run Code Online (Sandbox Code Playgroud)

有没有办法解决?如果没有,为什么PHP会强制执行此操作.此外,如果它有任何后果,foo()实际上返回一个二维数组.

小智 5

PHP没有数组引用,这是您要求的功能.

PHP 5.4即将推出的PHP版本确实具有此功能.