php call_user_func_array的用法

(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的警告,因为这个传入的参数被视为静态方法。

该函数真正的用法有点类似于函数重载,因为他的第一个参数是字符型的,也就是函数的名称,第二个参数是数组,我们可以当成该函数的各个参数,而事实上也就是这么用的,正是因为这个函数的存在,我发现函数重载也可以这样运用:


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);

?>

你可能感兴趣的:(php call_user_func_array的用法)