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

PHP 中 call_user_func 的使用的更多相关文章

  1. PHP 中 call_user_func 函数 和 call_user_func_array 函数的区别

    PHP 中 call_user_func() 函数 和 call_user_func_array() 函数都是回调函数,在写接口的时候经常会用到,但是他们有什么区别呢? 它们的第一个参数都是被调用的回 ...

  2. php中call_user_func 与 call_user_func_array的使用

    call_user_func()是利用回调函数处理字符串,call_user_func_array是利用回调函数处理数组. // 1. 调用自定义函数 function test($a, $b) { ...

  3. PHP 中call_user_func相关函数的使用

    call_user_func 官方的解释是:把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数. 第一个参数可以是函数名,后面的均为作为该函数使用的参数. 1. call ...

  4. php中call_user_func()与call_user_func_array()区别

    call_user_func:把一个参数作为回调函数调用 用法说明: call_user_func ( callable $callback [, mixed $parameter [, mixed ...

  5. 创造tips的秘籍——PHP回调后门

    作者:Phithon 原文连接:https://www.leavesongs.com/PENETRATION/php-callback-backdoor.html 最近很多人分享一些过狗过盾的一句话, ...

  6. composer源码简单分析(一)

    composer分析(一) 本文内容 基于PSR-4规范的自动加载 请结合文档和下面的代码注释 spl_autoload_register php闭包Closure简单用法(大体使用情景: 生成回调提 ...

  7. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  8. PHP中的call_user_func()与call_user_func_array()简单理解

    原文地址:http://small.aiweimeng.top/index.php/archives/52.html call_user_func:把一个参数作为回调函数调用 用法说明: call_u ...

  9. JS中的call_user_func封装

    PHP常见的call_user_func方法,在JS中有时候会用到,比如你想根据某个动态变量去执行方法. 以前遇到过类似的问题没有解决,现在不太记得具体案例了.今天无意中看到类似文章,学到了.代码如下 ...

随机推荐

  1. Spring bean生命周期(一)

    当容器销毁的时候,先调用DisposableBean实现类的destroy()方法,在调destory-method方法.

  2. 5.2 calendar--通用日期的相关函数(4)

    calendar类提供以下的函数来推断日历相关的内容: calendar.setfirstweekday(weekday) 设置一周里那一天作为第一天.0是表示星期一,6是表示星期天. 样例: #py ...

  3. linux中O(1)调度算法与全然公平(CFS)调度算法

    一.O(1)调度算法 1.1:优先级数组 O(1)算法的:一个核心数据结构即为prio_array结构体. 该结构体中有一个用来表示进程动态优先级的数组queue,它包括了每一种优先级进程所形成的链表 ...

  4. Android开发之BUG专讲:入门篇(一)

    前言: 本文作者:周才智 转载须注明作者与出处.违者必究. 原文地址:http://segmentfault.com/a/1190000004380690 话说诸葛亮是一个优秀的程序员,每个锦囊都是应 ...

  5. php auto_load mvc 接口框架(原创)

    autoload.php <?php function framework_autoload($className){ $className=str_replace('\\','/',$clas ...

  6. 二、SQL系列之~常见51道SQL查询语句

    [写在前面~~] [PS1:建议SQL初学者一定要自己先做一遍题目,这样才有效果~~(做题时为验证查询结果是否正确,可更改表中数据)] [PS2:文末最后一条代码整合了全部51道题目及答案~~] [P ...

  7. Unity3d gameObject

    using UnityEngine; using System.Collections; public class test : MonoBehaviour { //print只能在MonoBehav ...

  8. vuejs开发H5页面总结

    最近参与了APP内嵌H5页面的开发,这次使用vuejs替代了jQuery,仅仅把vuejs当做一个库来使用,效率提高之外代码可读性更强,在此分享一下自己的一些开发中总结的经验. 关于布局方案 当拿到设 ...

  9. 关于安卓调用wcf的一些问题

    最近公司有个项目需要和别的系统做对接,对方开放的是webservice接口,搞了很久终于搞出来了,在此记录一下 获取数据的service public class SoapService implem ...

  10. NagiosQL安装

        NagiosQL和Nconf是比较好用的Nagios配置工具. 一.安装NagiosQL 1.在服务器终端运行以下命令: ##YUM安装PHP模块yum -y install --disabl ...