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中的正规表达式(二)
Oct 09 PHP
用php过滤危险html代码的函数
Jul 22 PHP
php中$this-&amp;gt;含义分析
Nov 29 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
Mar 18 PHP
php生成图片验证码
Jun 09 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
分享PHP-pcntl 实现多进程代码
Sep 30 PHP
Yii全局函数用法示例
Jan 22 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
Yii框架日志操作图文与实例详解
Sep 09 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
Protoss兵种对照表
2020/03/14 星际争霸
PHP投票系统防刷票判断流程分析
2012/02/04 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
Python输出各行命令详解
2018/02/01 Python
python list删除元素时要注意的坑点分享
2018/04/18 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
Django如何实现上传图片功能
2019/08/16 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
优秀辅导员事迹材料
2014/02/16 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
年会搞笑主持词
2014/03/27 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
python中print格式化输出的问题
2021/04/16 Python
详解Vue的列表渲染
2021/11/20 Vue.js