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实现网站插件机制的方法
Nov 10 PHP
谨慎使用PHP的引用原因分析
Sep 06 PHP
php接口与接口引用的深入解析
Aug 09 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
php中explode函数用法分析
Nov 15 PHP
php读取文件内容的方法汇总
Jan 24 PHP
php结合安卓客户端实现查询交互实例
May 05 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
Jun 09 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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实现邮件群发的源码
2013/06/18 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
Python实现的文本编辑器功能示例
2017/06/30 Python
python抓取网页中链接的静态图片
2018/01/29 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
降低python版本的操作方法
2020/09/11 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
实习鉴定范文
2013/12/19 职场文书
项目经理聘任书
2014/03/29 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
Python图像处理库PIL详细使用说明
2022/04/06 Python
Java界面编程实现界面跳转
2022/06/16 Java/Android