PHP回调函数简单用法示例


Posted in PHP onMay 08, 2019

本文实例讲述了PHP回调函数简单用法。分享给大家供大家参考,具体如下:

php中提供了两个内置的回调函数call_user_func()call_user_func_array()

这两个函数的区别是:

call_user_func_array(callable $callback,array $param_arr)是以数组的形式接受回调函数和参数的。

call_user_func($callback, 参数1, 参数2)参数的个数是根据回调函数来决定的。

下面是一些常见的回调函数使用的例子:

//普通函数
function f1($param1,$param2)
{
 echo '函数'.__FUNCTION__.'被执行,传入的参数是:'.$param1.' '.$param2;
 echo "<br/>";
}
//通过call_user_func调用函数f1
call_user_func('f1','han','wen');
//通过call_user_func_array调用函数
call_user_func_array('f1',array('han','wen'));


运行结果:

函数f1被执行,传入的参数是:han wen

函数f1被执行,传入的参数是:han wen
class A{
 public $name;
 function show($param)
 {
  echo '传入参数是:'.$param."<br/>";
  echo 'my name is:'.$this->name;
  echo "<br/>";
 }
 function show1($param1,$param2)
 {
  echo __METHOD__.'方法被执行,传入参数是:'.$param1.' '.$param2."<br/>";
 }
 public static function show2($param1,$param2)
 {
  echo __METHOD__.'方法被执行,传入参数是:'.$param1.' '.$param2."<br/>";
 }
}
//调用类中非静态成员函数,该成员函数中有$this调用了对象中的成员
$a = new A;
$a->name = 'wen';
call_user_func_array(array($a,'show',),array('han!'));
//调用类中非静态成员函数,没有对象被创建,该成员函数中不能有$this
call_user_func_array(array('A','show1',),array('han!','wen'));
//调用类中静态成员函数
call_user_func_array(array('A','show2'),array('param1','param2'));

运行结果:

传入参数是:han!
my name is:wen
A::show1方法被执行,传入参数是:han! wen
A::show2方法被执行,传入参数是:param1 param2

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
谈谈新手如何学习PHP 默默经典版本
Aug 04 PHP
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
从php核心代码分析require和include的区别
Jan 02 PHP
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 PHP
php读取csv文件并输出的方法
Mar 14 PHP
php快速排序原理与实现方法分析
May 26 PHP
php代码检查代理ip的有效性
Aug 19 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 #PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 #PHP
php封装的pdo数据库操作工具类与用法示例
May 08 #PHP
Laravel框架查询构造器简单示例
May 08 #PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 #PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 #PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 #PHP
You might like
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
PHP异步调用socket实现代码
2012/01/12 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
python实现八大排序算法(1)
2017/09/14 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
对pandas中apply函数的用法详解
2018/04/10 Python
简单了解python PEP的一些知识
2019/07/13 Python
python如何基于redis实现ip代理池
2020/01/17 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
教师自荐信
2013/12/10 职场文书
汽车维修专业个人求职信范文
2014/01/01 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
先进员工事迹材料
2014/12/20 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
结婚幸福感言
2015/08/01 职场文书
基于Go语言构建RESTful API服务
2021/07/25 Golang
Linux磁盘管理方法介绍
2022/06/01 Servers