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 相关文章推荐
我的论坛源代码(十)
Oct 09 PHP
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
精通php的十大要点(上)
Feb 04 PHP
php 获取select下拉列表框的值
May 08 PHP
PHP获取MSN好友列表类的实现代码
Jun 23 PHP
php不写闭合标签的好处
Mar 04 PHP
PHP临时文件的安全性分析
Jul 04 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 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读取csv实现csv文件下载功能
2013/12/18 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
2007/09/04 Javascript
Extjs学习笔记之七 布局
2010/01/08 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
webpack入门必知必会
2017/01/16 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
python 反向输出字符串的方法
2018/07/16 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
中药专业大学生医药工作求职信
2013/10/25 职场文书
心理学专业毕业生推荐信范文
2013/11/21 职场文书
小学生倡议书范文
2014/05/13 职场文书
天地会口号
2014/06/17 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
Python基础之数据结构详解
2021/04/28 Python
欧元符号 €
2022/02/17 杂记
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python