分析PHP中的调用用户函数()函数,以及如何使用调用用户函数调用自定义函数

在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