在UCenter的源代码,有一个
功能call_user_func,开始认为这是一个
函数的定义本身,其结果是没有找到。后来才知道call_user_func是PHP内置函数,它允许
用户直接调用写函数的某些
参数和
介绍。下面是如何使用这个函数的摘要。
call_user_func的功能类似于一个函数调用的特殊
方法,它是用如下:
< PHP
功能nowamagic($,$)
{
回声$;
回声$;
}
call_user_func('nowamagic ,
call_user_func('nowamagic ,
显示 >
调用类的内部方法很奇怪。它是数组,不知道开发人员如何考虑它,当然,它
保存新的,并有一个新的想法。
< PHP
类{
函数B($ c)
{
回声$;
}
}
call_user_func(阵列(
显示
>
的call_user_func_array功能是call_user_func非常相似,但它只是一种传递参数,使结构更清晰的参数。
< PHP
函数A(b,$ C)
{
回声$;
回声$;
}
call_user_func_array('a',阵列(
显示
>
的call_user_func_array函数也可以在类中调用方法:
< PHP
班班
{
函数BC($,$){
$ BC =;
回声$ BC;
}
}
call_user_func_array(阵列('classa ','bc '),阵列(
显示
>
Both the call_user_func function and the call_user_func_array function support reference, which makes them more functional and consistent with common function calls:
< PHP
函数A(b)
{
美元+;
}
=美元;
call_user_func('a',$c);
回声$
call_user_func_array('a',阵列($ C));
回声$
>
此外,无论是call_user_func功能和call_user_func_array功能
支持参考。
查看sourceprint
< PHP
函数增量(var)
{
$ + +;
}
=一美元;
call_user_func('increment,美元);
回声;
call_user_func_array('increment,阵列($)); / /你可以用这个代替
回声;
>
以下是对call_user_func调用自定义函数的使用介绍
使用call_user_func功能,通过字符串的函数,你可以调用自定义函数参考和支持。
1.mixed call_user_func(调用回调混合参数{ {美元美元,美元,混合…)
调用第一个参数提供的自定义函数,后面的参数是自定义函数的参数,返回自定义函数的结果。
函数表示($单词)
{
回声字;
}
call_user_func(说,你好世界); / /你好世界
当然,还可以调用类中的方法:
类{
函数表示($ Word =)
{
回声字;
}
}
$ =新(a);必须被实例化,除非它是静态的
call_user_func(阵列($,'),你好世界); / /你好世界
2.mixed call_user_func_array(可赎回美元回调,数组param_arr)
这是说,call_user_func_array作为call_user_func功能相同,但它有一点不同,当调用参数。
函数a($)
{
回声字;
}
类{
函数表示($ Word =)
{
回声字;
}
}
call_user_func_array('a',阵列('Hello World)); / /你好世界
$ =新(a);必须被实例化,除非它是静态的
call_user_func_array(阵列($,''),数组('Hello World)); / /你好世界
注:其他功能call_user_method和call_user_method_array()但废弃后php4.1