博客列表 >剩余参数与参数引用及回调函数:array_map(), array_filter,array_values()用法,

剩余参数与参数引用及回调函数:array_map(), array_filter,array_values()用法,

半生
半生原创
2021年02月22日 16:17:49698浏览

参数的引用和剩余参数

  1. /**
  2. * 函数的引用参数和剩余参数的使用
  3. */
  4. // 引用参数
  5. function res(&$a)
  6. {
  7. return $a /=3;
  8. }
  9. $b = 10;
  10. echo res($b);//3.3333333333333
  11. echo '<br>';
  12. echo $b;//3.3333333333333,函数中使用了引用符&,把$b的内存储存区块的相对地址,导入到函数体中了
  13. function arr(&$me)
  14. {
  15. return $me += 6;
  16. }
  17. $to = 10;
  18. echo arr($to);//16
  19. echo $to;//16
  20. // 剩余参数
  21. echo '<hr>';
  22. function test($a,$b,$c,$d,$f)
  23. {
  24. return $a+$b+$c+$d+$f;
  25. }
  26. echo test(1,3,5,7,9,10,11);//25,值相加了前五个值
  27. echo '<br>';
  28. // 剩余参数在参数列表中:收集
  29. function test1(...$args)
  30. {
  31. return ($args);
  32. }
  33. print_r(test1(1,2,35,4,5,6,7));//Array ( [0] => 1 [1] => 2 [2] => 35 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )
  34. echo '<hr>';
  35. // array_sum:求和上限
  36. function test2(...$age)
  37. {
  38. return array_sum($age);
  39. }
  40. print_r(test2(1,2,35,4,5,6,7));//60
  41. echo '<br>';
  42. echo test2(1,2,35,4,5,6,7);//60
  43. // 剩余函数用在函数的调用表达式中:展开
  44. $arr = [1,2,3,5,6,6,7,8,9];
  45. $res = test2(...$arr);
  46. echo $res;//47
  47. ?>

回调函数:array_map(), array_filter,array_values()用法,

  1. /**
  2. * 回调函数~:1,是作为参数传递给父函数,匿名函数:闭包
  3. * 2, 回调函数是用于异步编程中函数的参数,异步编程-> 对函数
  4. * 执行的时间和顺序不可预测,通过事件/回调的放式来唤醒主程序
  5. * $ ('#bth').click(function(){
  6. * })
  7. */
  8. $data = range(1,100);
  9. //筛选出所有的偶数
  10. $arr = array_map(function($item){
  11. if($item % 2 == 0) return $item;
  12. },$data);
  13. // print_r($arr);
  14. // 删除数组中所有等值为空(false)的成员array_filter:删除空值
  15. $res = array_filter($arr,function($item){
  16. return $item;
  17. });
  18. // print_r($res);
  19. // 数组排序
  20. print_r(array_values($res));
  21. ?>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议