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

时间:2011-11-21 18:45:53

标签: php function return-value

如果我有这样的功能:

function foo(){
 return array("hello" => "world");
}

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

$test = foo()["hello"];

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

$test = foo();
$test = $test["hello"];

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

2 个答案:

答案 0 :(得分:5)

PHP没有阵列解除引用,这是您要求的功能。

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

答案 1 :(得分:-2)

我想:

$test = foo();

$test设置为数组,您需要做的就是立即使用它:

echo $test["hello"] produces "world"