PHP5.6 新特性-PHP 可变参数和参数解包

 

越来越多的新功能可能要出现在PHP5.6了,面对人们无限的期盼,这里先介绍点东西,让他们“尝鲜”

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

PHP 5.6 Is Coming

顺便提一句 PHP 5.6很快就要来了