回调函数

  1. //命名函数作为回调函数
  2. function sum($n){ //数组求和
  3. $result = 0;
  4. for($i = 0;$i<count($n);$i++) $result += $n[$i];
  5. return $result;
  6. }
  7. function printArr($arr,$callback){ //打印数组中每一项的值,并利用回调函数求和
  8. foreach($arr as $value) echo $value.'<br>';
  9. return $callback($arr);
  10. }
  11. echo '求和结果为:'. printArr([1,89,34],'sum');
  12. ob_clean();
  13. //匿名函数作为回调函数
  14. $sum = function ($n){ //数组求和
  15. $result = 0;
  16. for($i = 0;$i<count($n);$i++) $result += $n[$i];
  17. return $result;
  18. } ;
  19. echo '求和结果为:'. printArr([1,89,34],$sum);

在网络请求或执行复杂业务逻辑时,需要耗费大量的时间,有可能会造成线程阻塞,影响代码的执行效率,就需要用使用系统提供的call_user_func()或者call_user_func_array()来执行回调

  • call_user_func(‘callback’,’参数1’,’参数2’,…);
  • call_user_func_array(‘callback’,[‘参数1’,’参数2’]);

递归函数

  1. //求3-100之间的正整数之和
  2. $count = 0;
  3. function compSum($n1,$n2){
  4. global $count;
  5. if($n1 <= $n2 ){
  6. $count += $n1;
  7. compSum(++$n1,$n2);
  8. }
  9. return $count;
  10. }
  11. echo '3到100之和:'.compSum(1,100);
  12. //递归的思维还有待提升,很容易把人绕晕,我这个递归的demo有点太牵强

更多相关文章

  1. php之灭绝回调函数,师太递归函数
  2. 2021年8月6日作业:回调函数和递归函数的认识
  3. PHP:0806回调函数和递归函数的理解
  4. 请实例演绎你对回调函数与递归函数的理解?
  5. zy0806
  6. PHP简易计算器&封装函数练习
  7. PHP返回值&参数&变量作用域
  8. 函数的参数、返回值、作用域
  9. 0805 PHP编程作业 条件循环与回调函数

随机推荐

  1. Android 结束进程的方法
  2. openGL 简单demo
  3. Android 返回键退出
  4. Android的NDK开发(2)————利用Android
  5. 解决activity加上Theme.Translucent.NoTi
  6. android 广播 android Service 开机启动
  7. RecyclerView 滚动条的显示与隐藏
  8. Android下雪动画 VS JS下雪动画
  9. Android 设置虚线分割线
  10. 使用 Kotlin 开发 Android 应用 | 8 个最