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 相关文章推荐
支持oicq头像的留言簿(一)
Oct 09 PHP
PHP 遍历XP文件夹下所有文件
Nov 27 PHP
php 结果集的分页实现代码
Mar 10 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
PHP获取数组中重复最多的元素的实现方法
Nov 11 PHP
PHP中Memcache操作类及用法实例
Dec 12 PHP
php将csv文件导入到mysql数据库的方法
Dec 24 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
PHP实现网站应用微信登录功能详解
Apr 11 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
杏林同学录(九)
2006/10/09 PHP
PHP 和 XML: 使用expat函数(三)
2006/10/09 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
js实现随机8位验证码
2020/07/24 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
python简单实现操作Mysql数据库
2018/01/29 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
用python生成1000个txt文件的方法
2018/10/25 Python
Python3.6.x中内置函数总结及讲解
2019/02/22 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
python中get和post有什么区别
2020/06/19 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
2014年元旦促销活动方案
2014/02/22 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
企业安全生产责任书
2014/04/14 职场文书
2014年学校工作总结
2014/11/20 职场文书
2015年公务员工作总结
2015/04/24 职场文书
2015年环卫工作总结
2015/04/28 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
使用refresh_token实现无感刷新页面
2022/04/26 Javascript