先看一段代码
function concatenate($transform, ...$strings) { $string = ''; foreach($strings as $piece) { $string .= $piece; } return($transform($string)); } echo concatenate("strtoupper", "I'd ", "like ", 4 + 2, " apples");
函数定义的时候变量前使用 ... 操作符来表示这是一个可变参数,如果你传递了2个或者更多的参数,那么这些参数会被添加到这个数组。
Argument Unpacking
这个是和上面的功能相呼应的一个功能。
Variadic functions 允许你声明传入的参数数组,并且参数拆包允许你传递一个数组到一个函数,在函数内部自动解包,实例如下:
$email[] = "Hi there"; $email[] = "Thanks for registering, hope you like it"; mail("someone@example.com", ...$email);
你可以把所有的参数都弄一个数组里,PHP会为你处理好这一切:)
以上是php可变参数是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!