博客列表 >php之函数,匿名函数与回调函数

php之函数,匿名函数与回调函数

月光下,遗忘黑暗
月光下,遗忘黑暗原创
2021年04月29日 23:37:47616浏览

代码块

  1. <?php
  2. /**
  3. * 函数的返回值和参数
  4. */
  5. //$a,$b为形参
  6. //int前两个为类型声明,后一个为返回类型声明
  7. function test(int $a,int $b):int
  8. {
  9. //$a+$b为返回值
  10. return $a+$b;
  11. }
  12. //1,2为实参
  13. echo test(1,2);
  14. echo "<hr>";
  15. //array_sum()
  16. //计算数组的所有值之和,返回值是值之和
  17. function test2(...$arr){
  18. return array_sum($arr);
  19. }
  20. //...$arr可以收集参数成一个数组,剩余参数可用于pdo数据库连接
  21. echo test2(1,2);
  22. /**
  23. * 回调函数与匿名函数
  24. */
  25. function demo2(){
  26. //匿名类
  27. return new class
  28. {
  29. public $name = 123;
  30. };
  31. }
  32. $user = demo2();
  33. echo "<hr>";
  34. echo $user->name;
  35. echo "<hr>";
  36. //匿名函数
  37. $a = 333;
  38. //通过use可以访问函数外部的自由变量
  39. //闭包要改变上下文的值,需要引用传递
  40. $closure = function ($name) use (&$a)
  41. {
  42. echo $name.$a."<br>";
  43. $a = $name;
  44. };
  45. //匿名函数不能在前面调用
  46. $closure('hello');
  47. echo $a;
  48. echo "<hr>";
  49. //闭包经常作为函数的返回值
  50. function demo1($q) {
  51. return function ($w) use($q) {
  52. return $q+$w;
  53. };
  54. }
  55. echo demo1(1)(2);

效果

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议