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 相关文章推荐
cache_lite试用
Feb 14 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
ThinkPHP分页实例
Oct 15 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
Symfony查询方法实例小结
Jun 28 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 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图片验证码制作实现分享(全)
2012/05/10 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
python 实现删除文件或文件夹实例详解
2016/12/04 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
python 8种必备的gui库
2020/08/27 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
网络工程师专家职业发展路线
2014/02/14 职场文书
教师个人自我评价范文
2014/04/13 职场文书
初中班级口号
2014/06/09 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
学习心理学心得体会
2016/01/22 职场文书