亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁課程PHP Fun Breakthrough ClassCustom function callback function

Custom function callback function

目錄列表

回調(diào)函數(shù)

回調(diào)函數(shù),可以配合匿名函數(shù)和變量函數(shù)實(shí)現(xiàn)更加優(yōu)美、復(fù)雜的一種函數(shù)結(jié)構(gòu)。

回調(diào)函數(shù),就是在處理一個(gè)功能的時(shí)候,我讓這個(gè)功能自定義能力再強(qiáng)一些,我準(zhǔn)許調(diào)用這個(gè)函數(shù)的時(shí)候,還可以傳入一個(gè)函數(shù)配合、協(xié)助進(jìn)行處理。

實(shí)例:

<?php

function woziji($one,$two,$func){
       //我規(guī)定:檢查$func是否是函數(shù),如果不是函數(shù)停止執(zhí)行本段代碼,返回false
       if(!is_callable($func)){
               return false;
       }
       //我把$one、$two相加,再把$one和$two傳入$func這個(gè)函數(shù)中處理一次
       echo $one + $two + $func($one,$two);
}

//我們定義幾個(gè)函數(shù)試試
function plusx2( $foo , $bar){

       $result = ($foo+$bar)*2;

       return $result;
}

function jian( $x , $y ){
   $result = $x - $y;

   return $result;
}

//調(diào)用一下函數(shù),woziji,向里面?zhèn)魅雲(yún)?shù)試試
echo woziji(20,10,'plusx2') .'<br>'; // 90

//將plusx2改成jian試試結(jié)果
echo woziji(20,10,'jian'); // 40

?>

以上的實(shí)例代碼可能一下會(huì)看不懂,不要著急,下面我們來詳細(xì)的講解一次上面的代碼處理過程是怎樣的:

  • 將20賦值給形參$one,10賦值給了$two,而plusx2或者jian這兩個(gè)變量函數(shù),賦值給了$func

  • 在woziji這個(gè)函數(shù)中判斷plusx2或者jian是否為函數(shù),不是函數(shù)就return false 停止執(zhí)行了

  • 顯示plusx2或者jian是函數(shù)。因此$one = 20, $two =10相加了,相加后,$one和$two又帶入到了了$func($one,$two)中。

  • 帶入至里面后而$func,是可變的,可以為plusx2或者jian。如果為plusx2的話,$one = 20,$two = 10 的這個(gè)兩個(gè)結(jié)果又給了plusx2函數(shù)里面的$foo和$bar

  • $foo + $bar 乘以2后將結(jié)果返回至woziji這個(gè)函數(shù)功能體的運(yùn)算處:$one + $two + $func($one,$two);

  • 這樣主得到了運(yùn)算結(jié)果

現(xiàn)在我們明白了回調(diào)函數(shù):在一個(gè)調(diào)數(shù)里面,再傳入一個(gè)函數(shù)名,將函數(shù)名加上()括號(hào)。識(shí)為變量函數(shù),配合執(zhí)行。

實(shí)際上自己也是可以調(diào)用自己。

很簡(jiǎn)單的一道數(shù)學(xué)題,填寫下面的正確答案。

<?php function jisuan($one,$two,$func){ if(!is_callable($func)){ return false; } echo $one * $two - $func($one,$two); } function jian( $foo , $bar){ $result = $foo-$bar; return $result; } echo jisuan(5,7,'jian'); ?> //結(jié)果

1/2