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会为你处理好这一切:)

 

 

演示:


发表评论