您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細介紹了PHP中遞歸函數的使用方法,文中示例代碼介紹的非常詳細,零基礎也能參考此文章,感興趣的小伙伴們可以參考一下。
遞歸函數即為自調用函數,在函數體內直接或間接進行自調,但需要設置自調的條件,若滿足條件,則調用函數本身,若不滿足則終止本函數的自調,然后把流程的主控權返回給上一層函數執行。
代碼示例
<?php //聲明一個函數,用于測試遞歸 function test($n){ echo $n." "; //在函數開始輸出參數的值 if($n>0){ //判斷參數是否大于0 test($n-1); //如果參數大于0則調用自己,并將參數減1后再次傳入 }else{ //判斷參數是不大于0 echo "<--------> "; } echo $n." "; } test(10); //調用test函數將整數10傳給參數 ?>
首先思考一下,這個例子最終的輸出結果是什么?
好,來看一下本函數輸出的結果:
10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10
怎么樣,不知道這個結果是否跟設想的一樣呢?
步驟講解
第一步,執行test(10),echo 10,然后因為10>0,執行test(9),后面還有沒來得及執行的echo 10
第二步,執行test(9),echo 9,然后因為9>0,執行test(8),同樣后面還有沒來得及執行的 echo 9
第三步,執行test(8),echo 8,然后因為8>0,執行test(7),同樣后面還有沒來得及執行的 echo 8
第四步,執行test(7),echo 7,然后因為7>0,執行test(6),同樣后面還有沒來得及執行的 echo 7
第五步,執行test(6),echo 6,然后因為6>0,執行test(5),同樣后面還有沒來得及執行的 echo 6
...........
第十步,執行test(0),echo 0,此時0>0的條件不滿足,不在執行test()函數,而是echo “<-->”,并且執行后面的 echo 0
10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10
關于PHP中遞歸函數的使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。