实现代码
<?php
class foo{
static function callback($foo){
return $foo . "bar";
}
}
$string = function(){
return "I'm ";
};
echo call_user_func('foo::callback', $string());
?>
扩展阅读[call_user_func与call_user_func_array的区别]
<?php
class foo{
static function callback($foo, $bar){
return $foo . $bar;
}
}
$string_a = function(){
return "I'm ";
};
$string_b = function(){
return "yjiang.";
};
echo call_user_func('foo::callback', $string_a(), $string_b());
echo "\n";
echo call_user_func_array('foo::callback', array($string_a(), $string_b()));
?>
######运行结果######
I'm yjiang.
I'm yjiang.
call_user_func
与 call_user_func_array
的区别在于传递参数的方式不同,其功能相同