php變量函數(shù)、回調函數(shù)
/**
* 變量函數(shù):如果將一個函數(shù)名稱(字符串),給一個變量(字符串),然后在這個變量后面加上括號,就會調用這個變量值對應函數(shù)
*/
function add($a, $b){
return $a+$b;
}
$var = "add";
echo $var(10,20)
/**
* 在使用一個函數(shù)的時候,如果傳入一個變量,不能解決多大問題,就需要將一個過程進入到函數(shù)中,改變函數(shù)的執(zhí)行行為
* 在函數(shù)的調用時,在參數(shù)中傳的不是一個變量或一個值,而是一個函數(shù),這就是回調函數(shù)
* 制作回調函數(shù)1。
*/
function demo($num, $n){
for($i=0; $i<$num; $i++){
if($n($i)){
//if(call_user_func_array($n, array($i))) { //比較好用,兼容對象類型參數(shù)
echo $i."<br/>";
continue;
}
}
}
function test($i){
if($i == strrev($i))
return true;
else
return false;
}
demo(500, "test");
//制作回調函數(shù)2
function fun($one = "1", $two = "2", $three="3"){
echo "$one.....$two....$three";
}
//參數(shù)個數(shù)如果是變長時,就不能直接調用這個函數(shù)
call_user_func_array("fun", array(111,222,33333));
//制作回調函數(shù)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"));
成為不了聰明的人,那就做一個有耐心、肯鉆研,堅持不懈,永不放棄的人……

浙公網(wǎng)安備 33010602011771號