Blogger Information
Blog 16
fans 0
comment 1
visits 16926
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
剩余参数与参数引用及回调函数:array_map(), array_filter,array_values()用法,
半生
Original
685 people have browsed it

参数的引用和剩余参数

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