文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.2.1 回调函数
回调函数,可以配合匿名函数和变量函数实现更加优美、复杂的一种函数结构。
回调函数,就是在处理一个功能的时候,我让让这个功能自定义能力再强一些,我准许调用这个函数的时候,还可以传入一个函数配合、协助进行处理。
这是变量函数和回调函数结合的一个章节。
<?php
function woziji($one,$two,$func){
//我规定:检查$func 是否是函数,如果不是函数停止执行本段代码,返回 false
if(!is_callable($func)){
return false;
}
//我把$one、$two 相加,再把$one 和$two 传入$func 这个函数中处理一次
//$func 是一个变量函数,参见变量函数这一章
echo $one + $two + $func($one,$two);
}
//我们定义几个函数试试
function plusx2( $foo , $bar){
$result = ($foo+$bar)*2;
return $result;
}
function jian( $x , $y ){
$result = $x - $y;
return $result;
}
//调用一下函数,woziji,向里面传入参数试试
echo woziji(20,10,'plusx2');
//将 plusx2 改成 jian 试试结果
echo woziji(20,10,'jian');
?>
处理过程是这样的:
- 将 20 赋值给形参$one,10 赋值给了$two,而 plusx2 或者 jian 这两个变量函数,赋值给了$func
- 在 woziji 这个函数中判断 plusx2 或者 jian 是否为函数,不是函数就 return false 停止执行了
- 显示 plusx2 或者 jian 是函数。因此$one = 20, $two =10 相加了,相加后,$one 和$two 又带入到了了$func($one,$two) 中。
- 带入至里面后而$func,是可变的,可以为 plusx2 或者 jian。如果为 plusx2 的话,$one = 20,$two = 10 的这个两个结果又给了 plusx2 函数里面的$foo 和$bar
- $foo + $bar 乘以 2 后将结果返回至 woziji 这个函数功能体的运算处:$one + $two + $func($one,$two);
- 这样就得到了运算结果
现在我们明白了回调函数:在一个调数里面,再传入一个函数名,将函数名加上() 括号。识为变量函数,配合执行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论