php变量函数、回调函数

/**
* 变量函数:如果将一个函数名称(字符串),给一个变量(字符串),然后在这个变量后面加上括号,就会调用这个变量值对应函数
*/
function add($a, $b){
return $a+$b;
}

$var = "add";

echo $var(10,20)
/**
* 在使用一个函数的时候,如果传入一个变量,不能解决多大问题,就需要将一个过程进入到函数中,改变函数的执行行为
* 在函数的调用时,在参数中传的不是一个变量或一个值,而是一个函数,这就是回调函数
* 制作回调函数1
*/
function demo($num, $n){
for($i=0; $i<$num; $i++){
if($n($i)){
     //if(call_user_func_array($n, array($i))) { //比较好用,兼容对象类型参数

echo $i."<br/>";
continue;
        }
}
}

function test($i){
if($i == strrev($i))
return true;
else
return false;
}

demo(500, "test");


//制作回调函数2
function fun($one = "1", $two = "2", $three="3"){

echo "$one.....$two....$three";
}
//参数个数如果是变长时,就不能直接调用这个函数
call_user_func_array("fun", array(111,222,33333));


//制作回调函数3

class Filter{

function one($i){
        if($i%3==0){
echo $i."<br/>";
return true;
}else{
return false;
}
}

static function two($i){
if(preg_match('/3/', $i)){
return true;
}else{
return false;
}
}
}
demo(500, array(new Filter(), "one"));
demo(500, array("Filter", "two"));


posted @ 2020-04-10 15:56  笨笨韩  阅读(294)  评论(0编辑  收藏  举报