Blogger Information
Blog 30
fans 1
comment 0
visits 16058
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php中的匿名函数与返回值
moon
Original
840 people have browsed it

PHP中的函数

  • 函数是全局成员 不受作用域限制。
  • 函数的作用:完成特定功能的代码块,封装成函数可以实现复用性,提高代码的可维护性。
  • php函数语法
  1. function 函数名称([ 参数类型限定 参数列表]) :返回值
  2. {
  3. 函数体
  4. }
  • 例如下列代码,声明了一个函数,并且规定了返回值事string类型
  1. function GetPlayerName($name):string
  2. {
  3. return $name;
  4. }

PHP中函数的参数

  • php函数中的参数:对外提供一个接口,供函数调用者按照自己的意愿改变函数体内的执行行为
  • 参数分为形参,和实参
  • 默认参数:有默认值的参数,如果不传参或者少传参数,就会默认参数的值
    例如下列代码
  1. function totalneedtopay($days, $roomprice, $discount = 0.88)
  2. {
  3. $total = $roomprice * $days * $discount;
  4. return "您需要支付的总价为{$total}元。<br>";
  5. }
  6. echo totalneedtopay(2, 655);

上述代码声明了一个函数totalneedtopay,其中$days,$roomprice,$discount均为形参,其中$discount 有一个默认参数0.88,代码totalneedtopay(2, 655)中,2,655均为实参。

  • php中,还有一类特殊的引用类型参数,可改变变量本身的值,例如下列代码
  1. function add($a)
  2. {
  3. return $a++;
  4. }
  5. function addex(&$a)
  6. {
  7. return $a++;
  8. }
  9. $money=1;
  10. $moneyex=1;
  11. add($money);
  12. addex($moneyex);
  13. echo "{$money},{$moneyex}";

上述代码输出结果为1,2,由于add($a)函数参数为非引用参数,不会对变量本身进行修改,
addex(&$a)函数参数为引用参数,传入了变量的地址,对变量本身进行修改,所以输出结果为2

PHP中函数的返回值

  • php中函数的返回值可以是浮点数,整型,字符串,数组,对象,布尔值等
  • 在接口开发中,php函数的 返回值会转为通用的json格式的数据返回例如下列代码
  1. function login(): string
  2. {
  3. //json_encode()第二个参数是一个常量,JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256),JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64)
  4. return json_encode(['status' => 1, 'message' => '登录/成功'], 320);
  5. }

匿名函数

  • php中匿名函数通常会被当做回调函数的参数来使用,例如下列代码定义了一个匿名函数
  1. getplayername=function($id){
  2. return {$id}
  3. }
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post