(PHP 4 >= 4.0.4, PHP 5, PHP 7)
call_user_func_array—调用回调函数,并把一个数组参数作为回调函数的参数
mixed call_user_func_array(callable $callback, array $param_arr)
把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入。
callback
被调用的回调函数。
param_arr
要被传入回调函数的数组,这个数组得是索引数组。
返回值
返回回调函数的结果。如果出错的话就返回FALSE
更新日志
版本说明
5.3.0对面向对象里面的关键字的解析有所增强。在此之前,使用两个冒号来连接一个类和里面的一个方法,把它作为参数来作为回调函数的话,将会发出一个E_STRICT的警告,因为这个传入的参数被视为静态方法。
该函数真正的用法有点类似于函数重载,因为他的第一个参数是字符型的,也就是函数的名称,第二个参数是数组,我们可以当成该函数的各个参数,而事实上也就是这么用的,正是因为这个函数的存在,我发现函数重载也可以这样运用:
<php?
function otest1 ($a) {
echo('一个参数');
}
function otest2($a,$b) {
echo('二个参数');
}
function otest3 ($a,$b,$c) {
echo('三个啦');
}
function otest() {
$args = func_get_args();
$num = func_num_args();
call_user_func_array('otest'.$num, $args);
}
otest(1, 2);
?>