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下读取文本文件的代码
Jul 02 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
php的sso单点登录实现方法
Jan 08 PHP
php文件下载处理方法分析
Apr 22 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 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
关于js与php互相传值的介绍
2013/06/25 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
js操作浏览器的参数方法
2017/01/21 Javascript
w3c编程挑战_初级脚本算法实战篇
2017/06/23 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
python实现图片九宫格分割
2021/03/07 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
给海归自荐信的建议
2013/12/13 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
网络销售员岗位职责
2015/04/11 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
DQL数据查询语句使用示例
2022/12/24 MySQL