PHP 可变参数 ( ... ) 和参数解包
C中的: int printf( const char* format, ...); -------------------- @@Variadic Functions -------------------- 这个特性允许你使用可变参数,实例如下: 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会为你处理好这一切:)