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和ACCESS写聊天室(二)
Oct 09 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
PHP中用hash实现的数组
Jul 17 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
php查找字符串出现次数的方法
Dec 01 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 PHP
PHP多线程之内部多线程实例分析
Mar 09 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
Yii框架上传图片用法总结
Mar 28 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
Cookie跨域问题解决方案代码示例
Nov 24 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
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
javascript实现yield的方法
2013/11/06 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
python常用知识梳理(必看篇)
2017/03/23 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
python判断正负数方式
2020/06/03 Python
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
新闻传播专业求职信
2014/07/22 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
校运会班级霸气口号
2015/12/24 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python