Blogger Information
Blog 28
fans 0
comment 0
visits 21973
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
细说函数的构成
暝皑祯π_π
Original
840 people have browsed it
  1. <?php
  2. // 自定义函数
  3. $number = 5;
  4. $name = ['zhao' , 'qian' , 'shun' ,' li' ,' chen' , 'wamg' ,'zhang'];
  5. function unit(int $number): string
  6. {
  7. // global连接全局变量
  8. global $name;
  9. $number = $name[$number-1];
  10. return $number;
  11. }
  12. // 调用函数
  13. echo unit(2);
  14. echo '<hr>';
  15. // 系统函数
  16. // 系统函数是已经定义好的函数,可以直接调用
  17. // 把二进制转换为16进制的函数
  18. echo bin2hex('chen') . '<hr>';
  19. // 获得当前工作目录
  20. echo getcwd();
  21. echo '<hr>';
  22. // 可变函数,使用变量名作为函数名
  23. // 当变量的后面有圆括号时,系统自动搜索是否有同名的函数并尝试调用它
  24. // 可以在实现回调函数,函数表应用
  25. $a = 'unit';
  26. echo $a(1);
  27. echo '<hr>';
  28. // 匿名函数:也叫闭包
  29. // 可以作为变量的值来使用
  30. // 'use':继承父级作用域中的变量。和命名函数中的'global'一样使用
  31. $name = ['zhao' , 'qian' , 'shun' ,' li' ,' chen' , 'wamg' ,'zhang'];
  32. $a = function ($number) use ($name): string
  33. {
  34. return $number = $name[$number-1];
  35. };
  36. // 直接用变量加参数调用
  37. echo $a(5);
  38. echo '<hr>';
  39. // 返回值 多个值的返回方式
  40. // 字符串拼装
  41. function unit1(): string
  42. {
  43. $number = 1;
  44. $name = 'xiaoming';
  45. return $number. '号是' . $name;
  46. }
  47. echo unit1();
  48. echo '<hr>';
  49. // 通过数组返回
  50. function unit2(): array
  51. {
  52. $number = 1;
  53. $name = 'xiaoming';
  54. $gender = 'man';
  55. return [$number , $name , $gender];
  56. }
  57. print_r(unit2());
  58. echo '<hr>';
  59. // JSON:json_encode()
  60. function unit3(): string
  61. {
  62. $number = 1;
  63. $name = 'xiaoming';
  64. $gender = 'man';
  65. // 也可以返回字符串:return json_encode($number);
  66. return json_encode([$number , $name , $gender]);
  67. }
  68. echo unit3();
  69. echo '<hr>';
  70. // 序列化:serialize()
  71. function unit4(): string
  72. {
  73. $number = 1;
  74. $name = 'xiaoming';
  75. $gender = 'man';
  76. // 也可以返回字符串:return serialize($number);
  77. return serialize([$number , $name , $gender]);
  78. }
  79. echo unit4();
  80. // 返回的都是字符串,只是显示的格式不一样,'JSON'和序列化需要解码
  81. echo '<hr>';
  82. // 参数
  83. // 值传递:默认
  84. // 只调用它的值在函数内部进行计算,不改变原始值。
  85. $work = 'php';
  86. function g($work){
  87. return $work = $work . '中文网';
  88. }
  89. $l = g($work);
  90. // 输出:php中文网
  91. echo $l;
  92. echo '<hr>';
  93. // 输出:php
  94. echo $work;
  95. echo '<hr>';
  96. // 引用传递
  97. // 添加取地址符&,在改变函数内部的值时,所引用的原始值也一起被改变
  98. $work = 'php';
  99. function g1(&$work){
  100. return $work =$work . '中文网';
  101. }
  102. $l = g1($work);
  103. // 输出:php中文网
  104. echo $l;
  105. echo '<hr>';
  106. // 输出:php
  107. echo $work;
  108. echo '<hr>';
  109. // 默认参数
  110. // 必须写在参数的最后面
  111. // 默认值必须是常量表达式,不能是诸如变量,类成员,或者函数调用等
  112. function g2($c , $work = '中文网'){
  113. return $c . $work;
  114. }
  115. echo g('php');
  116. echo '<hr>';
  117. // 剩余参数
  118. // '...'参数归纳
  119. // 用在函数的形式参数列表中,表示"收集",将多个离散的参数打包到一个数组中处理
  120. function are(...$por):array
  121. {
  122. return $por;
  123. }
  124. print_r( are(1,2,3,4,5,6,7,8,9));
  125. echo '<hr>';
  126. // 用在函数的调用参数列表中,表示"展开",还原将一个数组展开成一个个离散的值
  127. $gpr = [1,2,3,4,5,6,7,8,9];
  128. function are2(...$gpr):array
  129. {
  130. return $gpr;
  131. }
  132. print_r(are2(...$gpr));

总结

  • 函数是可以在程序中重复使用的语句块
  • 今天主要学习函数的组成

  • 函数名称:命名的和匿名的,系统的和自定义的,可变的和不变的,以及globalhe use的用法

  • 函数的返回值:返回的都是字符串,只是显示的格式不一样,’JSON’和序列化需要解码

  • 函数传递参数的四种方式,分别是值传递、引用传递(&)、默认参数和剩余参数(…)。

Correcting teacher:天蓬老师天蓬老师

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