代码块

  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);

效果

更多相关文章

  1. 读深度学习《深度学习简介》
  2. Laravel 添加自定义函数
  3. 文件下载函数
  4. 【php基础入门】细说php的变量以及常量的知识点详解
  5. 函数编写2的平方的阶乘加3的平方的阶乘
  6. [源码分析] 从FlatMap用法到Flink的内部实现
  7. [白话解析] 用水浒传为例学习条件随机场
  8. [白话解析] 深入浅出支持向量机(SVM)之核函数
  9. [白话解析] 通俗解析集成学习之GBDT

随机推荐

  1. Android Studio运行慢-提速到10s,问你要不
  2. 疯狂android讲义学习总结---各种按钮的制
  3. android tab上显示数字(转)
  4. Android 窗帘(Curtain Menu)效果五之应用
  5. Google Android 应用程序结构
  6. 3Q大战现高潮,360 推出Android(安卓)"3Q"
  7. Android SDK Manager无法更新的解决
  8. Android事件分发机制详解
  9. vlc android 代码编译
  10. 配置eclipse的android开发环境