函数作用:该函数主要用于通过函数名去调用该函数
例如:
function test(){
echo "hello world\n";
}
$methodName = "test";
call_user_func($methodName);
上面的语句执行后相当于直接调用test(),不过是可以通过函数名来调用函数。同时也可以用这种方法来调用:
$methodName = "test";
$methodName();
产生的结果是一样的,而且这种方法在性能上会比上面的方法好一点。
除了调用函数,还可以调用对象的方法:
class T{
static public function test(){
echo "hello world\n";
}
}
//php 5.3以前需要这样调用
call_user_func("T::test");
//php 5.3以后,可以将class和method传入一个数组再将数组传给call_user_func方法
call_user_func(array("T", "test"));
上面执行效果是一样的
call_user_func还可以与匿名函数配合如:
function call_func(){
foreach(func_get_args() as $func){
call_user_func($func);
}
}
call_func(function(){
echo "anonymous function\n";
});
上面的函数还能同时调用多个函数