直接使用函数中的数组,而不首先指定变量

时间:2012-10-25 18:20:33

标签: php arrays function variables return-value

我很好奇我是否可以在一行中为PHP中的函数返回的特定数组索引值的值赋值变量。

现在我有一个函数返回一个关联数组,我在两行中做我想做的事。

$var = myFunction($param1, $param2);
$var = $var['specificIndex'];

没有添加确定返回类型的参数,有没有办法在一行中执行此操作?

2 个答案:

答案 0 :(得分:4)

在PHP 5.4中,您可以执行此操作:$var = myFunction(param1, param2)['specificIndex'];

另一个选择是知道数组的顺序,并使用list()。请注意,list仅适用于数字数组。

例如:

function myFunction($a, $b){
    // CODE
    return array(12, 16);
}

list(,$b) = myFunction(1,2); // $b is now 16

答案 1 :(得分:1)

您可以添加其他可选参数,如果设置,则返回该值。请参阅以下代码:

function myFunction($param1, $param2, $returnVal = "")
{
    $arr = array();

    // your code here

    if ($returnVal)
    {
        return $arr[$returnval];
    }
    else
    {
        return $arr;
    }
}