PHP 中 call_user_func 的使用
2024-08-26 06:37:51
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下
- 第一种情况:
function set_max($a,$b)
{
if($a>$b)
echo $a;
else
echo $b;
}
call_user_func('set_max', "111","222");//结果为222
此时 第一个参数 set_max
作为call_user_func
的回调函数使用,$a=111,$b=222
。
- 第二种情况
class a
{
function b($c)
{
echo $c ;
}
}
$num = 200 ;
call_user_func(array('a','b'),$num);//结果为200
此时第一个参数为一个数组 那么 回调就是 a
类里面的b
方法,num
作为参数传到b
方法里面。省去了实例化a
的过程。
说到这里就不得不再看看 call_user_func_array
, 其实call_user_func_array
跟call_user_func
类似 使用如下:
function set_max($a,$b)
{
if($a>$b)
echo $a;
else
echo $b;
}
call_user_func_array('set_max',array(111,222));
//结果222
比call_user_func
看起来直观一点。 而call_user_func_array
对类里面方法的使用则如下:
class test
{
function set_max($a,$b)
{
if($a>$b)
echo $a;
else
echo $b;
}
}
call_user_func_array(array('test','set_max'),array(111,222));
//结果同样为222
原文地址:https://segmentfault.com/a/1190000016250746
最新文章
- socket.io,环境搭建 &; Hello world
- SubmitText 中配置lua 运行环境
- rsync异机备份
- 【Android】EventBus 源码解析
- Unity3d插件汇总
- php的socket通信(二)
- VirtualDub - 开源视频捕捉及线性处理软件
- pyqt 同时勾选多个items(网友提供学习)
- hdu_5873_Football Games(xjb搞)
- Adobe Photoshop CS6中文破解MAC版
- 【LeetCode】306. Additive Number
- java基础(10) -线程
- Android智能下拉刷新加载框架—看这些就够了
- ACM个人零散知识点整理
- 如何在HTTP头中隐藏PHP版本号
- python面试题---收藏的笔记
- OpenLDAP一登录系统就修改密码
- php 发送超大数据处理
- Bootstrap 标签页(Tab)插件
- 5. 支持向量机(SVM)软间隔
热门文章
- UVa 10465 Homer Simpson(DP 全然背包)
- 公布IOS产品被拒后怎样再上传新公布包
- spring学习笔记(22)声明式事务配置,readOnly无效写无异常
- android制作闪动的红心
- 使用美橙主机建站(jsp+mysql+tomcat建站)
- ETL (数据仓库技术)
- S5PV210开发板 VGA测试【转】
- [NOIP 2007] 树网的核
- anaconda 使用 及 tensorflow-gpu 安装
- Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射?