搜索

PHP回调函数怎样使用(实例详解)

WBOY
发布: 2021-10-15 14:36:38
原创
5110人浏览过

在之前的文章中给大家带来了《如何玩转php自定义函数(总结分享)》,这篇文章中详细的介绍了php中的自定义函数,本篇文章来看一看php函数中基本的回调函数。希望对大家有所帮助!

PHP回调函数怎样使用(实例详解)

PHP回调函数

回调函数,一种可以配合匿名函数和变量函数而实现更多功能的函数结构。

什么是回调函数?

PHP中所讲的回调函数,其实就是指调用函数时不是向函数中传递标准的变量作为参数,而是将另一个函数作为参数,传递到调用的函数中,回调函数也就是这个作为参数的函数。

立即学习PHP免费学习笔记(深入)”;

可以理解为,回调函数也是我们定义的一个函数,但是它并不是直接调用的,而是需要另一个函数来调用。

示例如下:

<?php
    function arithmetic($a, $b, $c) {
        return $a($b, $c);
    }
    function add($b,$c){
        return $b+$c;
    }
    $d = arithmetic('add', 5, 9);
    echo '5 + 9 ='.$d;
?>
登录后复制

输出结果:

1015.11.png

另外,PHP 提供了两个函数 call_user_func() 和 call_user_func_array() 来对回调函数进行支持。

这两个函数的区别是: call_user_func_array() 是以数组的形式接收回调函数的参数,而 call_user_func() 则是以具体的参数来接收回调函数参数的。

  • call_user_func_array() 

call_user_func_array 函数可以调用回调函数,然后使用一个数组来作为回调函数的参数。语法格式如下:

call_user_func_array ($callback ,$param_arr)
登录后复制

在语法格式中,$callback 是被调用的回调函数,$param_arr 是一个索引数组,下面举个例子实际看一下:

Check for AI
Check for AI

在论文、电子邮件等中检测AI书写的文本

Check for AI85
查看详情 Check for AI
<?php
    function arithmetic($f, $m, $n) {
        return call_user_func_array($f, array($m, $n));
    }
    function add($m,$n){
        return $m+$n;
    }
    $sum = arithmetic('add', 3, 4);
    echo '3 + 4 ='.$sum;
?>
登录后复制

输出结果:

1015.12.png

  • call_user_func() 

call_user_func 函数会把第一个参数作为回调函数来调用,语法格式如下:

call_user_func ($callback [, $parameter, ... ])
登录后复制

其中, $callback 是被调用的回调函数,其余参数是回调函数的参数,多个参数之间使用","分隔。下面举个例子实际看一下:

<?php
    function arithmetic($f, $m, $n) {
        return call_user_func($f, $m, $n);
    }
    function add($m,$n){
        return $m+$n;
    }
    $sum = arithmetic('add', 250, 250);
    echo '250 + 250 ='.$sum;
?>
登录后复制

输出结果:

1015.13.png

接下来给大家分享一下变量函数和回调函数结合的一个示例:

<?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');
?>
登录后复制

输出结果:

1015.14.png

推荐学习:《PHP视频教程

以上就是PHP回调函数怎样使用(实例详解)的详细内容,更多请关注php中文网其它相关文章!

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号