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

首頁課程PHP Fun Breakthrough ClassRecursive function of custom function

Recursive function of custom function

目錄列表

遞歸函數(shù)

遞歸函數(shù),遞歸只是一個名字,而遞歸函數(shù)的規(guī)定:函數(shù)體內(nèi)調(diào)用函數(shù)自己。

這需要一定的思維理解深度,本章學(xué)習(xí)過程當(dāng)中,如果你實在是有思維無法跟上的地方,可以跳過本章不用學(xué)習(xí)。等有了知識積累可以再看看!

我們來寫一個簡單的遞歸代碼,讓函數(shù)自己調(diào)用自己:

<?php

$n = 2;
function dg( $n ){
   echo $n.'<br />';
   $n = $n - 1;
   if($n > 0){
       //在函數(shù)體內(nèi)調(diào)用了dg自己喲
       dg($n);
   }else{
       echo '--------------';
   }
   echo '我是最后一個哦!' . $n . '<br />';
}
dg($n);

?>

我們來仔細(xì)推理一次:

  • 第一次調(diào)用dg(),將數(shù)字$n = 2傳到dg中,先顯示出來了2

  • 然后將$n - 1 $n的值為了1

  • 接著判斷$n 是否大于0,肯定是大于0的,所以調(diào)用遞歸自己,再把自己執(zhí)行一次。

  • 而第二次在執(zhí)行自己dg()的時候,而最下面的 echo '我是最后一個哦!' . $n . '; 還沒有執(zhí)行到。等待執(zhí)行完成后再來執(zhí)行

  • $n此時等于1 ,所以顯示出來1。

  • $n把自己減了一次,$n的結(jié)果為0

  • $n大于0肯定不成立的,所以顯示了一條:"--------------"

  • 而這個時候該執(zhí)行:echo ''我是最后一個哦!' . $n . ';

  • 第二次執(zhí)行dg()執(zhí)行完成。第一次dg()的代碼還沒執(zhí)行完,將第4點中的余下代碼執(zhí)行完。

沒有看懂的小伙伴把代碼考下去在本地運行學(xué)習(xí)學(xué)習(xí)也可以。


1/1