PHP中的函数
- 函数是全局成员 不受作用域限制。
- 函数的作用:完成特定功能的代码块,封装成函数可以实现复用性,提高代码的可维护性。
- php函数语法
function 函数名称([ 参数类型限定 参数列表]) :返回值
{
函数体
}
- 例如下列代码,声明了一个函数,并且规定了返回值事string类型
function GetPlayerName($name):string
{
return $name;
}
PHP中函数的参数
- php函数中的参数:对外提供一个接口,供函数调用者按照自己的意愿改变函数体内的执行行为
- 参数分为形参,和实参
- 默认参数:有默认值的参数,如果不传参或者少传参数,就会默认参数的值
例如下列代码
function totalneedtopay($days, $roomprice, $discount = 0.88)
{
$total = $roomprice * $days * $discount;
return "您需要支付的总价为{$total}元。<br>";
}
echo totalneedtopay(2, 655);
上述代码声明了一个函数totalneedtopay
,其中$days,$roomprice,$discount
均为形参,其中$discount
有一个默认参数0.88,代码totalneedtopay(2, 655)
中,2,655
均为实参。
- php中,还有一类特殊的引用类型参数,可改变变量本身的值,例如下列代码
function add($a)
{
return $a++;
}
function addex(&$a)
{
return $a++;
}
$money=1;
$moneyex=1;
add($money);
addex($moneyex);
echo "{$money},{$moneyex}";
上述代码输出结果为1,2
,由于add($a)
函数参数为非引用参数,不会对变量本身进行修改,addex(&$a)
函数参数为引用参数,传入了变量的地址,对变量本身进行修改,所以输出结果为2
PHP中函数的返回值
- php中函数的返回值可以是浮点数,整型,字符串,数组,对象,布尔值等
- 在接口开发中,php函数的 返回值会转为通用的json格式的数据返回例如下列代码
function login(): string
{
//json_encode()第二个参数是一个常量,JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256),JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64)
return json_encode(['status' => 1, 'message' => '登录/成功'], 320);
}
匿名函数
- php中匿名函数通常会被当做回调函数的参数来使用,例如下列代码定义了一个匿名函数
getplayername=function($id){
return {$id}
}