前端PHP入门-012-回调函数[慎入]

尽力而为,对于WEB前端和美工同学,比较难了!但是你们都学过JS的闭包等操作,那么这里也一定没有问题!

回调函数,可以配合匿名函数和变量函数实现更加优美、复杂的一种函数结构。
回调函数,就是在处理一个功能的时候,我让让这个功能自定义能力再强一些,我准许调用这个函数的时候,还可以传入一个函数配合、协助进行处理。
这是 变量函数[忘记赶快回看]回调函数 结合的一个章节。
这块理解了,我想对JS也是一个提高!

  1. <?php
  2. function woziji($one,$two,$func){
  3. //我规定:检查$func是否是函数,如果不是函数停止执行本段代码,返回false
  4. if(!is_callable($func)){
  5. return false;
  6. }
  7. //我把$one、$two相加,再把$one和$two传入$func这个函数中处理一次
  8. //$func是一个变量函数,参见变量函数这一章
  9. echo $one + $two + $func($one,$two);
  10. }
  11. //我们定义几个函数试试
  12. function plusx2( $foo , $bar){
  13. $result = ($foo+$bar)*2;
  14. return $result;
  15. }
  16. function jian( $x , $y ){
  17. $result = $x - $y;
  18. return $result;
  19. }
  20. //调用一下函数,woziji,向里面传入参数试试
  21. echo woziji(20,10,'plusx2');
  22. //将plusx2改成jian试试结果
  23. echo woziji(20,10,'jian');
  24. ?>

处理过程是这样的:

  • 将20赋值给形参one,10two,而plusx2或者jian这两个变量函数,赋值给了$func
  • 在woziji这个函数中判断plusx2或者jian是否为函数,不是函数就return false 停止执行了
  • 显示plusx2或者jian是函数。因此one=20,two =10相加了,相加后,onetwo又带入到了了func(one,$two)中。
  • 带入至里面后而funcplusx2jianplusx2one = 20,two=10plusx2foo和$bar
  • foo+bar 乘以2后将结果返回至woziji这个函数功能体的运算处:one+two + func(one,$two);
  • 这样主得到了运算结果

回调函数:在一个调数里面,再传入一个函数名,将函数名加上()括号。识为变量函数,配合执行。





posted on 2016-08-07 10:58  胖先生  阅读(278)  评论(0编辑  收藏  举报