博客列表 >4种函数、4种返回值、4种参数

4种函数、4种返回值、4种参数

鹏建
鹏建原创
2020年05月10日 21:43:231060浏览

  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. ?>

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

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