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

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

example :

Php代码  
  1. <?php
  2. function eat($fruit) //参数可以为多个
  3. {
  4. echo "You want to eat $fruit, no problem";
  5. }
  6. call_user_func('eat', "apple"); //print: You want to eat apple, no problem;
  7. call_user_func('eat', "orange"); //print: You want to eat orange,no problem;
  8. ?>


调用类的内部方法: 

Php代码  
  1. <?php
  2. class myclass {
  3. function say_hello($name)
  4. {
  5. echo "Hello!$name";
  6. }
  7. }
  8. $classname = "myclass";
  9. //调用类内部的函数需要使用数组方式 array(类名,方法名)
  10. call_user_func(array($classname, 'say_hello'), 'dain_sun');
  11. //print Hello! dain_sun
  12. ?>

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

call_user_func_array ( callback $function , array $param_arr )

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

Php代码  
  1. <?php
  2. function debug($var, $val)
  3. {
  4. echo "variable: $var <br> value: $val <br>";
  5. echo "<hr>";
  6. }
  7. $host = $_SERVER["SERVER_NAME"];
  8. $file = $_SERVER["PHP_SELF"];
  9. call_user_func_array('debug', array("host", $host));
  10. call_user_func_array('debug', array("file", $file));
  11. ?>


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

exmaple:

Php代码  
  1. <?php
  2. class test
  3. {
  4. function debug($var, $val)
  5. {
  6. echo "variable: $var <br> value: $val <br>";
  7. echo "<hr>";
  8. }
  9. }
  10. $host = $_SERVER["SERVER_NAME"];
  11. $file = $_SERVER["PHP_SELF"];
  12. call_user_func_array(array('test', 'debug'), array("host", $host));
  13. call_user_func_array(array('test', 'debug'), array("file", $file));
  14. ?>

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

Php代码  
  1. <?php
  2. function increment(&$var)
  3. {
  4. $var++;
  5. }
  6. $a = 0;
  7. call_user_func('increment', $a);
  8. echo $a; // 0
  9. call_user_func_array('increment', array(&$a)); // You can use this instead
  10. echo $a; // 1
  11. ?>

call_user_func相关推荐

  1. call_user_func用法

    1 //有一些函数,名字未知 2 //名字在运行状态时,才知道 3 4 //例如a(),b(),c()调用哪一个 5 // ->index(),reg()?又调用哪一个 6 7 function ...

  2. call_user_func() expects parameter 1 to be a valid callback, cannot access private method

    <?phpclass Test {private function hello(){echo 'hello world';return '1';}public function testCall ...

  3. php call_user_func和,php – call_user_func()和$var()之间有区别吗?

    call_user_func()和它的语法糖版本之间是否有任何区别-- // Global function $a = 'max'; echo call_user_func($a, 1, 2); // ...

  4. call_user_func和call_user_func_array的用法

    call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] ) 调用第一个参数所提供的用户自定义的函数. 返回值: ...

  5. PHP 中 call_user_func 的使用

    call_user_func函数类似于一种特别的调用函数的方法,使用方法如下 第一种情况: function set_max($a,$b) {if($a>$b)echo $a;elseecho ...

  6. 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():调用一个回调函数处 ...

  7. PHP函数call_user_func和call_user_func_array详解

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

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

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

  9. 【PHP注入01】PHP语言常见可注入函数(eval、assert、preg_replace、call_user_func、$a($b)等)

    目录 1 PHP注入概述 2 相关函数与语言结构 2.1 eval()函数 2.2 assert()函数 2.3 preg_replace()函数 2.4 call_user_func()函数 2.5 ...

最新文章

  1. 令AI费解的图像层出不穷 计算机视觉远未达到完美
  2. html 注释_java基础- Java编程规范与注释
  3. ML之LiR:利用LiR线性回归算法(自定义目标函数MSE和优化器GD)对Boston房价数据集(两特征+归一化)进行回归预测
  4. linux苹果开发者p12,苹果testflight发布流程
  5. azure linux 多磁盘 lvm,EVE-NG扩展磁盘空间(扩展LVM卷)
  6. linux shell脚本攻略第3版_「技术干货」师傅说不会写shell脚本的网安不是一个好黑客,实战...
  7. conda命令增删查环境
  8. oracle pl sql安装配置,oracle的安装与plsql的环境配置
  9. Java环境变量配置(详细操作)
  10. 北京环球度假区宣布首批21家旅游渠道官方授权合作伙伴
  11. 浏览器 - 监听浏览器刷新及关闭
  12. echarts中环形图加边框
  13. AR智能眼镜tooz DevKit 20初体验
  14. 应用二 stm32使用esp8266进行串口wifi通信
  15. 基于NPOI导入导出excel的工具,方便灵活
  16. 正点原子STM32F407ZGT6以太网ETH—LwIP通信笔记
  17. Android 轻量级数据库 Hawk
  18. 华为服务器怎么连接显示器,华为MateBook怎么连接外接显示器/投影仪?
  19. 如何设计一个自己的操作系统(1)
  20. 墨者学院-在线靶场-HTTP头注入漏洞测试(X-Forwarded-for) Writeup

热门文章

  1. python切片语法-详解Python 切片语法
  2. 无意间看到Pure-Mvc记录下
  3. 10012 - How Big Is It?
  4. HDU2018 母牛的故事
  5. Codeforces#371 Div2
  6. js正则--验证6-12位至少包含数字、小写字母和大些字母中至少两种字符,
  7. C++中char类型的溢出问题
  8. 上海巨人网络参与网络诈骗整个流程
  9. 一个关于Oracle更新语句引发的时间字段类型的问题
  10. 专属自己的二维游戏引擎【二】