Php 为什么我要把省略号放在函数的参数里面?

Php 为什么我要把省略号放在函数的参数里面?,php,Php,参数中带有省略号的函数的真正用途是什么 我有这个功能: class Dog{ public function type(...$numbers){ var_dump($numbers); } } 这个函数呢 class Dog{ public function type($numbers){ var_dump($numbers); } } 不管我是否加省略号,如果我调用type函数并在其中加上多个参数,它的类型将始终是一个数组

参数中带有省略号的函数的真正用途是什么

我有这个功能:

class Dog{
    public function type(...$numbers){
        var_dump($numbers);
    }
}
这个函数呢

class Dog{
    public function type($numbers){
        var_dump($numbers);
    }
}
不管我是否加省略号,如果我调用type函数并在其中加上多个参数,它的类型将始终是一个数组


所以我的问题是,为什么我要把省略号放在一个函数的参数里面呢?

它只是语法上的糖,叫做。它允许您将多个参数传递给函数,函数将自动转换为数组。在这个例子中,它可以让你调用type1、2、3,而$numbers将是这三个数字的数组。

类型取决于你在第二个例子中如何调用它。如何调用函数?如何使用多个参数调用此函数?它被称为可变变量。请参见-它对以下情况非常有用:$array=[[1,'a'],[2,'b'],[3,'c'],[4,'b'];打印\u rarray\u合并…$array;输出[1,'a',2,'b',3,'c',4,'d'],特别是当您不知道$array的长度时。这里有一个更好的链接,过去我们不得不使用func_get_args和call_user_func_array'function'、$args等。与此相比,这是非常丑陋的。。。