返回介绍

5.2.1 回调函数

发布于 2025-01-30 22:11:31 字数 1257 浏览 0 评论 0 收藏 0

回调函数,可以配合匿名函数和变量函数实现更加优美、复杂的一种函数结构。

回调函数,就是在处理一个功能的时候,我让让这个功能自定义能力再强一些,我准许调用这个函数的时候,还可以传入一个函数配合、协助进行处理。

这是变量函数和回调函数结合的一个章节。

<?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');

?>

处理过程是这样的:

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文