Blogger Information
Blog 14
fans 0
comment 0
visits 7665
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
4种函数、4种返回值、4种参数
鹏建
Original
1061 people have browsed it

  1. <?php
  2. // 函数语法
  3. // 声明函数 function 名称(参数){函数体 return 返回值;}
  4. function function1(int $a,int $b):string{
  5. return $a+$b;
  6. }
  7. echo function1(10,5);
  8. function function2(int $a,int $b){
  9. return $a+$b;
  10. }
  11. // 调用函数
  12. echo function2(10,5);
  13. ?>

  1. <?php
  2. // 函数分类
  3. // 1、自定义函数
  4. function function1(int $a,int $b):string{
  5. return $a+$b;
  6. }
  7. echo function1(10,5);
  8. echo '<hr>';
  9. // 2. 系统函数
  10. $array=[13,28,68,36];
  11. // count()计算数组元素个数或对象属性个数
  12. echo count($array);
  13. echo '<hr>';
  14. $str='因你而美丽';
  15. // substr(字符串,start,length)获取英文字符串一部分;mb_substr获取中文字符串一部分
  16. echo mb_substr($str,3,2);
  17. echo '<hr>';
  18. // 3、可变函数 函数赋值于一个变量,通过调用变量调用函数
  19. $sum='function1';
  20. echo $sum(10,5);
  21. echo '<hr>';
  22. // 4. 匿名函数: 闭包, 可以访问父作用域的变量
  23. $c=4;
  24. $sup=function (int $a,int $b):string{
  25. return ($a+$b);
  26. };
  27. echo $sup(4,3);
  28. echo '<hr>';
  29. $sup=function (int $a,int $b)use($c):string{
  30. return ($a+$b)*$c;
  31. };
  32. echo $sup(4,3);
  33. // 父作用域是函数
  34. $sub=function($c){
  35. return function (int $a,int $b)use($c):string{
  36. return ($a+$b)**$c;};
  37. };
  38. echo $sub(3)(2,3);
  39. ?>

  1. <?php
  2. // 返回值
  3. // 原则: 单值返回
  4. // 如果需要返回多值
  5. // 1. 字符串拼装
  6. function function1(){
  7. $num=1;
  8. $bool='ture';
  9. return $num.':'.$bool;
  10. }
  11. echo function1();
  12. echo '<br>';
  13. // 适合处理大量的php+html混写
  14. // 这种返回的格式是用户自定义的,前端处理非常麻烦
  15. // 2. 数组
  16. function function2(){
  17. return [ 'num'=>1,'bool'=>'ture'];
  18. }
  19. print_r(function2());
  20. echo '<br>';
  21. echo function2()['num'].':'.function2()['bool'];
  22. echo '<br>';
  23. // 3. JSON字符串
  24. function function3(){
  25. return json_encode([ 'num'=>1,'bool'=>'ture']);
  26. }
  27. print_r(function3());
  28. echo '<br>';
  29. print_r(json_decode(function3()));
  30. echo '<br>';
  31. // 4. 序列化: 字符串
  32. function function4() : string
  33. {
  34. return serialize(['num'=>1,'bool'=>'ture']);
  35. }
  36. echo function4();
  37. echo '<br>';
  38. print_r(unserialize(function4()));
  39. ?>

  1. <?php
  2. // 函数参数
  3. // 1. 值参数
  4. // 2. 引用参数
  5. // 3. 默认参数
  6. // 4. 剩余参数
  7. // 1. 值参数, 默认
  8. function per1($a){
  9. return $a=$a**2;
  10. }
  11. $b=2;
  12. echo per1($b).'<br>';
  13. // 2. 引用传递
  14. // 被调用参数值随形参而变化
  15. function per2(&$a){
  16. return $a=$a**2;
  17. }
  18. $b=2;
  19. echo per2($b).'<br>';
  20. echo $b.'<br>';
  21. // 3. 默认参数
  22. function per3($a,$b,$c=':'){
  23. return $a.$c.$b;
  24. }
  25. echo per3('peter','15').'<br>';
  26. function per4($a,$b,$c){
  27. switch($c){
  28. case ':':return$a.':'.$b;
  29. break;
  30. case '---':return$a.'---'.$b;
  31. break;
  32. case '***':return$a.'***'.$b;
  33. break;
  34. default:return'非法操作符';
  35. }
  36. }
  37. echo per4('jack','11','***');
  38. echo "<br>";
  39. // 4. 剩余参数
  40. // 收集
  41. function sum(...$numbers){
  42. return array_sum($numbers);
  43. }
  44. echo sum(1,5,37,5,4);
  45. // 展开
  46. $array=[2,4,6,7,3,9];
  47. print_r(sum(...$array));
  48. ?>

总结:回头看这些知识,比当时刚学的时候强很多,但完全不看课件独自完成还是做不到的。但依然充满信心充满动力,因为一个月前的自己还不知道世界上有这么些个东东,从无到有,从小白到似懂非懂,很感谢自己的努力和坚持,很感谢老公的引道和陪伴,更感谢老师得辛苦付出。课程结束以后还有问题的话,希望老师依然能细心解答。谢谢啦!

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