PHP call_user_func_array调用回调函数

时间:4年前   阅读:5145

使用call_user_func_array可以调用回调函数,并把一个数组参数作为回调函数的参数

mixed call_user_func_array ( callable $callback , array $param_arr )

  把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入

function demo($num,$n){
    for($i=0;$i<$num;$i++){
        if(call_user_func_array($n,array($i))){
            echo $i.'<br>';
        }
    }
}

function test($i){
    if($i%5){
        return true;
    }
}

demo(20,'test');

实现回调函数时,通常要使用call_user_func_array()函数,而不是变量函数,因为变量函数无法传递对象中的方法或和类中的静态方法

function demo($num, $n) {
    for($i=0; $i<$num; $i++) {
        if(call_user_func_array($n, array($i))){
            echo $i."<br>";
        }    
    }
}
    
class Filter {
    function one($i) {
        if($i%3==0) {
            return true;
        }
    }
    static function two($i) {
        if(preg_match('/3/', $i)) {
            return true;
        }
    }

}
demo(500, array(new Filter(), "one"));
demo(500, array("Filter", "two"));

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:期权投资中最关键的是什么?

下一篇:怎么重启IIS 重启iis命令教程

网友评论

请先 登录 再评论,若不是会员请先 注册