3

我很好奇我是否可以将 PHP 中的函数在一行中返回的特定数组索引值的值分配给一个变量。

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

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

在不添加确定返回类型的参数的情况下,有没有办法在一行中做到这一点?

4

2 回答 2

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
于 2012-10-25T18:24:34.447 回答
1

您可以添加一个额外的可选参数,如果设置,将返回该值。请参阅以下代码:

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

    // your code here

    if ($returnVal)
    {
        return $arr[$returnval];
    }
    else
    {
        return $arr;
    }
}
于 2012-10-25T18:22:43.137 回答