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.MVC的模板标签系统(一)
Sep 05 PHP
一个阿拉伯数字转中文数字的函数
Oct 09 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
php调用shell的方法
Nov 05 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 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
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
JS 显示当前日期与时间的代码
2010/03/24 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
python查询sqlite数据表的方法
2015/05/08 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
python模块smtplib学习
2018/05/22 Python
python基于http下载视频或音频
2018/06/20 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
keras 多任务多loss实例
2020/06/22 Python
航海技术专业毕业生求职信
2014/04/06 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
2015年重阳节主持词
2015/07/04 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
浅谈PHP7中的一些小技巧
2021/05/29 PHP