call_user_func — 把第一个参数作为回调函数调用
call_user_func — 把第一个参数作为回调函数调用
说明
mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数。
参数
callback
将被调用的回调函数(callable)。
parameter
0个或以上的参数,被传入回调函数。
Note:
请注意,传入call_user_func()的参数不能为引用传递。
Example #1 call_user_func() 的参考例子
<?php
error_reporting(E_ALL);
function increment(&$var)
{
$var++;
} $a = 0;
call_user_func('increment', $a);
echo $a."\n"; call_user_func_array('increment', array(&$a)); // You can use this instead before PHP 5.3
echo $a."\n";
?>
以上例程会输出:
0
1 转:http://www.php.net/manual/zh/function.call-user-func.php
call_user_func — 把第一个参数作为回调函数调用的更多相关文章
- C语言中的回调函数调用过程以及函数指针使用
回调函数比喻: 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货. 在这个例子里,你的电话号码就叫回调 ...
- Delphi动态事件深入分析(对象方法在调用的时候会传递一个隐含的Self指针,而该指针的值在EAX中。即左边第一个参数)
Delphi动态事件深入分析 2009-2-7 作者:不得闲核心提示:本实验证明了在类中方法的调用时候,所有的方法都隐含了一个Self参数,并且该参数作为对象方法的第一个参数传递... 首先做一个空窗 ...
- 对setTimeout()第一个参数是字串的深入理解以及eval函数的理解
<script language="javascript" type="text/javascript"> var a=1; setTimeout( ...
- python 调用dll 动态链接库 结构体参数及回调函数等示例
结构体示例: 这里是 C 代码的部分,主要是结构体的声明和回调函数定义. // 新版本定义 typedef enum { DevCard, DevLocator, DevReader } DevTyp ...
- node第一个参数必须是err
Node.js 约定回调函数第一个参数必须是错误对象err: 问题:Node.js约定回调函数第一个参数必须是错误对象err,如果没有错误该参数就是null 原因:异步执行分成两段,在两段之间抛出异常 ...
- 当call/apply传的第一个参数为null/undefined的时候js函数内执行的上下文对象是什么呢?
如题:在js中我们都知道call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象;call/apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式.而b ...
- vuex2.0.0爬坑记录 -- mutations的第一个参数state不能解构
今天在学习vuex的过程中,遇到了一个很困扰人的问题,最终利用vuex的状态快照工具logger解决了问题. 问题是这样的,我在子组件中使用了mapState()函数来将状态映射至子组件中,使子组件能 ...
- fopen的第一个参数不能有'\n'
我刚才写了个程序, 需要操作两个文件. 我用fgets获取标准输入流stdin中的文件名, 然后用fopen打开. 结果编译器总是抱错. 调试了一下,发现fopen返回的是NULL. 我在此处加了 ...
- IE6/7/8中parseInt第一个参数为非法八进制字符串且第二个参数不传时返回值为0
JavaScript中数字有十进制.八进制.十六进制.以"0"开头的是八进制,"0x"或"0X"开头的是十六进制. parseInt用来把字 ...
随机推荐
- AC日记——Array Queries codeforces 797e
797E - Array Queries 思路: 分段处理: 当k小于根号n时记忆化搜索: 否则暴力: 来,上代码: #include <cmath> #include <cstdi ...
- J.U.C并发框架源码阅读(十三)ThreadPoolExecutor
基于版本jdk1.7.0_80 java.util.concurrent.ThreadPoolExecutor 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. U ...
- maven的知识图谱
maven 1.maven的好处 java项目管理工具 依赖管理 对jar包统一管理 项目名称 公司/组织 版本信息 本地仓库 由于索引的存在,找jar包很快 项目构建 依赖管理 传统项目 很大 包含 ...
- FZU-2271 X(Floyd)
Problem 2271 X Accept: 303 Submit: 1209Time Limit: 1500 mSec Memory Limit : 32768 KB Problem ...
- 关于android主线程异常NetworkOnMainThread不能访问网络
在Android开发中,如果你使用的是Android4.0以后,那你会发现,只要是写在主线程(就是Activity)中的HTTP请求,运行时都会报错,这是因为Android在4.0以后为了防止应用的A ...
- Linux Programmer's Manual --- reboot
REBOOT(2) Linux Programmer's Manual REBOOT(2) NAME reboot - reboot or enable/disable Ctrl-Alt-Del SY ...
- java中终止线程的三种方式
在java中有三种方式可以终止线程.分别为: 1. 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止. 2. 使用stop方法强行终止线程(这个方法不推荐使用,因为stop和sus ...
- 【hibernate/JPA】对实体类的的多个字段建立唯一索引,达到复合主键的效果【spring boot】注解创建唯一索引和普通索引
对实体类的的多个字段建立唯一索引,达到复合主键的效果 package com.sxd.swapping.domain; import lombok.Getter; import lombok.Sett ...
- JAVA之HashMap集合
/** * HashMap集合讲解 * HashMap集合不允许集合元素的Key重复 */package com.test; import java.util.*; public class test ...
- Java反射学习总结五(Annotation(注解)-基础篇)
Annotation(注解)简单介绍: 注解大家印象最深刻的可能就是JUnit做单元測试,和各种框架里的使用了. 本文主要简介一下注解的用法,下篇文章再深入的研究. annotation并不直接影响代 ...