【原创】详解PHP函数参数前面三个点(...$args)的作用

blogdaren 2019-08-13 抢沙发 345人次

知识背景:

类似于 ...$args 的用法在PHP手册中叫: 可变数量的参数列表

代码举例:

function sum(...$input)
{
    $total = 0;
    array_walk($input, function($v)use(&$total){
        $total += $v; 
    }); 

    return $total;
}

function multiple($arg1, $arg2, $arg3)
{
    return $arg1 * $arg2 * $arg3;
}

echo sum(1,2,3,4,5) . PHP_EOL; //15
echo multiple(...[1,2,3]) . PHP_EOL; //6

代码解读:

sum():  因为实参是多个参数,形参是一个参数,所以 ...$input 会将多个实参转换成单个形参,即 $input = [1,2,3,4,5];

multiple():因为实参是单个参数,形参是多个参数,所以 ...$input 会将单个实参转换成对应的多个形参,即: 

$arg1 = 1、$arg2 = 2、$arg3 = 3;

使用场景:

我们定义了一个函数,该函数具有如下特征:

1、函数的参数数量不固定,即具有可变数量的参数: function sum($arg1, $arg2, ......., $argN);

2、不同的参数个数代表不同的意义;

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】详解PHP函数参数前面三个点(...$args)的作用

发表评论:

您的昵称:
电子邮件:
个人主页: