实现代码

<?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_funccall_user_func_array的区别在于传递参数的方式不同,其功能相同