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"));
成为不了聪明的人,那就做一个有耐心、肯钻研,坚持不懈,永不放弃的人……