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也可以?成Shell Script
Oct 09 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
php截取后台登陆密码的代码
May 05 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
php魔术方法功能与用法实例分析
Oct 19 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
Nov 22 PHP
PDO::commit讲解
Jan 27 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
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
js同源策略详解
2015/05/21 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
Python中的pprint折腾记
2015/01/21 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python 内置函数汇总详解
2019/09/16 Python
Python ORM编程基础示例
2020/02/02 Python
QML用PathView实现轮播图
2020/06/03 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
小学国旗下的演讲稿
2014/08/28 职场文书
单位收入证明范本
2015/06/18 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书