php函数新特性
php自7.0之前,函数类型的声明只能使用类、接口、数组和回调类型,自7.0后,已经支持所有的参数类型的声明,另外,还可以对返回类型作说明。对于可变参数个数的函数,php自7.0之后,提供一个新的操作符”…”。
函数参数类型声明
php自7.0后,已经支持int、float、string、bool类型的声明。
function fun (int $num, float $f, string $str, bool $bool)
{
...
}
函数返回值类型声明
自7.0后,支持函数返回值类型的声明。
function f() :string
{
……
}
若函数没有返回值的话,使用void
function f() :void
{
……
}
php7.1的版本支持可为空(null)类型,只需在返回类型前加入”?”即可。
// 返回值为string类型或null
function f() :?string
{
......
}
可变参数个数的函数
自7.0版本,可以使用…操作符来表示可变参数
function sum(int ...$num) :int
{
return array_sum($num);
}
echo sum(32,46, 132); // 210
将…$args转换为参数列表
<?php
function add(int $num1, int $num2) :int
{
return $num1 + $num2;
}
$nums = [32,31];
echo add(...$nums); // 63