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 相关文章推荐
Zend引擎的发展 [15]
Oct 09 PHP
强烈推荐:php.ini中文版(2)
Oct 09 PHP
用Flash图形化数据(一)
Oct 09 PHP
我的群发邮件程序
Oct 09 PHP
php计算函数执行时间的方法
Mar 20 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
Aug 01 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 PHP
PHP实现计算器小功能
Aug 28 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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+MYSQL的文章管理系统(一)
2006/10/09 PHP
数据库的日期格式转换
2006/10/09 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
用 JSON 处理缓存
2007/04/27 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
详解javascript遍历方式
2015/11/11 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
如何教少儿学习Python编程
2020/07/10 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
机械设计职业生涯规划书
2013/12/27 职场文书
铁路工务反思材料
2014/02/07 职场文书
《小儿垂钓》教学反思
2014/02/23 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
德育标兵事迹材料
2014/08/24 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
对照检查剖析材料
2014/09/30 职场文书
给老婆的保证书
2015/01/16 职场文书
大连星海广场导游词
2015/02/10 职场文书
九年级语文教学反思
2016/03/03 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
python实现简单倒计时功能
2021/04/21 Python
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
Python爬虫实战之爬取携程评论
2021/06/02 Python
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
js不常见操作运算符总结
2021/11/20 Javascript