php函数:call_user_func
前段时间浏览文档发现一个有意思的PHP函数:call_user_func 【文档地址】
函数作用:该函数主要用于通过函数名去调用该函数
例如:
function test(){
echo "hello world\n";
} $methodName = "test"; call_user_func($methodName);
上面的语句执行后相当于直接调用test(),不过是可以通过函数名来调用函数。同时也可以用这种方法来调用:
$methodName = "test";
$methodName();
产生的结果是一样的,而且这种方法在性能上会比上面的方法好一点。
除了调用函数,还可以调用对象的方法:
class T{
static public function test(){
echo "hello world\n";
}
}
//php 5.3以前需要这样调用
call_user_func("T::test");
//php 5.3以后,可以将class和method传入一个数组再将数组传给call_user_func方法
call_user_func(array("T", "test"));
上面执行效果是一样的
call_user_func还可以与匿名函数配合如:
function call_func(){
foreach(func_get_args() as $func){
call_user_func($func);
}
} call_func(function(){
echo "anonymous function\n";
});
上面的函数还能同时调用多个函数
php函数:call_user_func的更多相关文章
- PHP函数call_user_func和call_user_func_array详解
今天在群里面,有个叫lewis的在问call_user_func_array的用法,因为之前一直没有用过,也不能说什么,于是看一下手册,发现是这么写的: call_user_func_array (P ...
- php自定义函数call_user_func和call_user_func_array详解
看UCenter的时候有一个函数call_user_func,百思不得其解,因为我以为是自己定义的函数,结果到处都找不到,后来百度了一下才知道call_user_func是内置函 call_user_ ...
- PHP回调函数call_user_func()和call_user_func_array()的使用
call_user_func():把第一个参数作为回调函数调用 用法:call_user_func ( callable $callback [, mixed $parameter [, mixed ...
- PHP 回调函数call_user_func和 call_user_func_array()的理解
call_user_func(function,param); // 第一个参数是回调函数的函数名,第二个参数是参数 call_user_func函数类似于一种特别的调用函数的方法.其主要有以下的类型 ...
- php回调函数call_user_func和call_user_func_array详解
call_user_func($fun); call_user_func 函数类似于一种特别的调用函数的方法,使用方法如下: 1.调用 普通函数: <?php function a($b, $c ...
- php内置函数call_user_func()
<?php //call_user_func(callback,name,age) //第一个参数callback作为回掉函数使用,其余的参数是他的参数 function now($a,$b) ...
- php中调用用户自定义函数的方法:call_user_func,call_user_func_array
看UCenter的时候有一个函数call_user_func,百思不得其解,因为我以为是自己定义的函数,结果到处都找不到,后来百度了一下才知道call_user_func是内置函数,该函数允许用户调用 ...
- PHP之call user func()函数
在实际开发中通常会遇到这样的问题,决定调用某个函数是通过传入的参数决定的,例如: $functionName=$_post['functionName']; 接着我们需要访问一个叫$functionN ...
- php回调函数的概念及实例
php提供了两个内置函数call_user_func()和call_user_func_array()提供对回调函数的支持.这两个函数的区别是call_user_func_array是以数组的形式接收 ...
- php中call_user_func 与 call_user_func_array的使用
call_user_func()是利用回调函数处理字符串,call_user_func_array是利用回调函数处理数组. // 1. 调用自定义函数 function test($a, $b) { ...
随机推荐
- 在Android下通过ExifInterface类操作图片的Exif信息
什么是Exif 先来了解什么是Exif.Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.I ...
- thinkjs crud练习
今天看了下thinkjs(v2.1.7),做了一个简单的入门demo,基于mysql数据库增删改查,详细源码如下: 页面整体展示: 会员新增: 删除: 查询: 主页面: <!DOCTYPE ht ...
- svn在commit后报错:is scheduled for addition, but is missing
今天通过svn 的cr(code review)代码审核后,我欲执行svn ci -m"xxxxxxx(提交注释) ISSUE=3380305",但是没有提交成功,SVN报错啦! ...
- Vue-Render函数理解示例
对应文档节点: https://vuefe.cn/v2/guide/render-function.html#Slots <body> <div id="app" ...
- Python基础学习总结(五)
7.用户输入输出和while循环 1.使用函数 input() 输入,print() 打印,字符串可以用逗号隔开.end=' ' 关键字参数,打印时可以不换行,sep=‘ 你想要的分隔符 ’,关键字参 ...
- spring 代理
java动态代理实现 1. Java自带的动态代理,反射生成字节码 2. Cglib调用asm生成子类 spring 中代理实现 1. 如果类实现了接口,使用java动态代理 2. 没有实现接口,使用 ...
- Android通过浏览器打开app页面并且传递值
最近公司有个需求,要求从第三方网页端打开一个网页,然后在网页中点击“下载”,“打开”按钮,在app端进行下载和打开操作.这里记录下方法. 首先,网页和app页面进行交互,其实会很快想到JS交互,但是现 ...
- linux 系统开机自启执行 操作的配置
1 linux 服务注册 service文件 在service文件中设置变量和环境变量 [Unit] Description= #服务描述 After=syslog.target #服务启动依赖 [S ...
- SpringMVC学习(五)——拦截器示例
部分内容摘自开涛的<跟我学SpringMVC.PDF> 拦截器,本质类似于AOP,主要的应用场景: 1.日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV等. 2.权限检查 ...
- leetcode-surrounded regions-ZZ
Problem Statement (link): Given a 2D board containing 'X' and 'O', capture all regions surrounded by ...