可以在1行中完成此操作

时间:2011-07-30 01:57:44

标签: php

我有一个返回命名值['upper','lower','chosen']数组的函数。要阅读upper值,我会这样做

$returned = myfunction($input1, $input2);
$upper = $returned['upper'];

有没有办法在1行中完成所有操作,也许是这样,但这种语法不起作用。还有别的吗?

$upper = myfunction($input1, $input2)['upper'];

4 个答案:

答案 0 :(得分:4)

您可以执行以下操作:

 list ($upper, $lower, $chosen) = myfunction($input1, $input2);

答案 1 :(得分:3)

您的函数可能返回一个对象而不是一个数组。然后你可以做这样的事情:

class myObject {
    public $upper;
    public $lower;
    public $chosen;
}

$upper = myFunction($input1,$input2)->upper;

答案 2 :(得分:2)

答案 3 :(得分:1)

如果你想在函数调用后对数组进行deference,我认为在旧版本中不可能。

我发现了这个:https://wiki.php.net/rfc/functionarraydereferencing

从这个讨论开始:Access array element from function call in php