call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )

调用第一个参数所提供的用户自定义的函数。
返回值:返回调用函数的结果,或FALSE。

example

<?php
function eat($fruit) //参数可以为多个
{echo "You want to eat $fruit, no problem";
}
call_user_func('eat', "apple"); //print: You want to eat apple, no problem;
call_user_func('eat', "orange"); //print: You want to eat orange,no problem;
?>


调用类的内部方法:

<?php
class myclass {function say_hello($name){echo "Hello!$name";}
}$classname = "myclass";//调用类内部的函数需要使用数组方式 array(类名,方法名)
call_user_func(array($classname, 'say_hello'), 'dain_sun');//print Hello! dain_sun?>

call_user_func_array 函数和 call_user_func 很相似,只是 使 用了数组 的传递参数形式,让参数的结构更清晰:

call_user_func_array ( callback $function , array $param_arr )

调用用户定义的函数,参数为数组形式。
返回值:返回调用函数的结果,或FALSE。

<?phpfunction debug($var, $val)
{echo "variable: $var <br> value: $val <br>";echo "<hr>";
}$host = $_SERVER["SERVER_NAME"];
$file = $_SERVER["PHP_SELF"];call_user_func_array('debug', array("host", $host));
call_user_func_array('debug', array("file", $file));?>


调用类的内部方法和 call_user_func 函数的调用方式一样,都是使用了数组的形式来调用。

exmaple:

<?phpclass test
{function debug($var, $val){echo "variable: $var <br> value: $val <br>";echo "<hr>";}
}$host = $_SERVER["SERVER_NAME"];
$file = $_SERVER["PHP_SELF"];call_user_func_array(array('test', 'debug'), array("host", $host));
call_user_func_array(array('test', 'debug'), array("file", $file));?>

注:call_user_func 函数和call_user_func_array函数都支持引用。

<?php
function increment(&$var)
{$var++;
}$a = 0;
call_user_func('increment', $a);
echo $a; // 0call_user_func_array('increment', array(&$a)); // You can use this instead
echo $a; // 1
?>

call_user_func和call_user_func_array的用法相关推荐

  1. PHP函数call_user_func和call_user_func_array详解

    今天在群里面,有个叫lewis的在问call_user_func_array的用法,因为之前一直没有用过,也不能说什么,于是看一下手册,发现是这么写的: call_user_func_array (P ...

  2. php _call call_user_func_array,PHP call_user_func和call_user_func_array函数的简单理解与应用分析...

    本文实例讲述了PHP call_user_func和call_user_func_array函数的简单理解与应用.分享给大家供大家参考,具体如下: call_user_func():调用一个回调函数处 ...

  3. 简单理解call_user_func和call_user_func_array两个函数

    call_user_func():调用一个回调函数处理字符串, 可以用匿名函数,可以用有名函数,可以传递类的方法, 用有名函数时,只需传函数的名称 用类的方法时,要传类的名称和方法名 传递的第一个参数 ...

  4. 【php】php中call_user_func函数的用法

    下面来说说call_user_func.call_user_func_array这两个函数的用法和例子 call_user_func函数是当需要动态调用函数时,才使用的,这个函数有两种用法: 第一种是 ...

  5. PHP - 回调函数概念与用法实例分析 - 学习/实践

    1.应用场景 主要用于理解回调函数的概念, 对比JavaScript中的回调函数, 更加深刻理解回调函数的本质, 以及如何高效使用~~~ 2.学习/操作 1. 文档阅读 https://www.jb5 ...

  6. python3的formatter_python中的formatter的详细用法

    今天抽空学习了一下python中的string service中的formatter的相关用法,主要是为了让自己的代码看起来更加和谐,因为很多java或者c语言过来的开发者都不怎么爱使用python的 ...

  7. PHP中call user func()和call_user_func_array()调用自定义函数小结

    call_user_func() 和 call_user_func_array(),通过传入字符串函数,可以调用自定义函数,并且支持引用,都允许用户调用自定义函数并传入一定的参数: 1.mixed c ...

  8. 总结PHP 7新增加的特性

    ?? 运算符(NULL 合并运算符) 把这个放在第一个说是因为我觉得它很有用.用法: $a = $_GET['a'] ?? 1;它相当于: <?PHP $a = isset($_GET['a'] ...

  9. php %3c%3c%3c 解析常量,PHP基础知识小结1

    1.变量与常量的区别与创建,访问方式 变量与常量的区别 变量是临时存储数据的容器,是实现数据服用的手段.变量分为全局变量,私有变量,和超全局变量,除超全局变量外,其他变量受作用域限制.变量必须以$作为 ...

最新文章

  1. Dev的关于XtraGrid的使用2
  2. HTML5图片怎么添加渐变,HTML5 canvas图和实现填充渐变形状
  3. 不忘每份支持,网易云信感谢一路有你
  4. 云开发太简单了吧!「72变的云开发」有奖征文领三重好礼!
  5. 用于安装python第三方库的工具是_Python第三方库安装
  6. 【OpenJudge - noi - 7624】山区建小学(dp)
  7. 基于wrapper的特征选择——递归特征消除RFE的python实现
  8. Java学习4大阶段完成入门,小白必读!
  9. ios客户端快速滚动和回弹效果的实现
  10. ios信息交互 协议的使用
  11. 高中教师计算机水平要求,高中信息技术教师考试大纲
  12. 2018首届世界传感器大会11月12日-14日在郑州召开
  13. 统计学的Python实现-015:调和平均数
  14. 项目中git的运用及命令明细
  15. SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
  16. HW - VCN 介绍
  17. 关于C语言中的宏的一点点讨论
  18. 【jquery事件】
  19. 光彩夺目的30款太阳光线照射Ps笔刷
  20. (trigger)触发器的定义和作用

热门文章

  1. 36 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义目标成本版本
  2. metasploit下载教程linux,Ubuntu下安装Metasploit
  3. 多级队列调度算法可视化界面_进程调度功能由操作系统内核的进程调度程序完成...
  4. 笨方法“学习python笔记之打印及注释
  5. TypeScript接口
  6. 纯CSS将图片转换成黑白
  7. 网址发布收藏页源码自适应
  8. WordPress插件-Wordfence Security v7.4汉化版-可更新
  9. 石青建站养站大师 v1.8.6.1
  10. java的调试页面_[Java教程]使用开发者工具调试jsp页面中的脚本