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_arraycall_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

最新文章

  1. socket.io,环境搭建 & Hello world
  2. SubmitText 中配置lua 运行环境
  3. rsync异机备份
  4. 【Android】EventBus 源码解析
  5. Unity3d插件汇总
  6. php的socket通信(二)
  7. VirtualDub - 开源视频捕捉及线性处理软件
  8. pyqt 同时勾选多个items(网友提供学习)
  9. hdu_5873_Football Games(xjb搞)
  10. Adobe Photoshop CS6中文破解MAC版
  11. 【LeetCode】306. Additive Number
  12. java基础(10) -线程
  13. Android智能下拉刷新加载框架—看这些就够了
  14. ACM个人零散知识点整理
  15. 如何在HTTP头中隐藏PHP版本号
  16. python面试题---收藏的笔记
  17. OpenLDAP一登录系统就修改密码
  18. php 发送超大数据处理
  19. Bootstrap 标签页(Tab)插件
  20. 5. 支持向量机(SVM)软间隔

热门文章

  1. UVa 10465 Homer Simpson(DP 全然背包)
  2. 公布IOS产品被拒后怎样再上传新公布包
  3. spring学习笔记(22)声明式事务配置,readOnly无效写无异常
  4. android制作闪动的红心
  5. 使用美橙主机建站(jsp+mysql+tomcat建站)
  6. ETL (数据仓库技术)
  7. S5PV210开发板 VGA测试【转】
  8. [NOIP 2007] 树网的核
  9. anaconda 使用 及 tensorflow-gpu 安装
  10. Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射?