跟大家講解下有關什么是php遞歸函數及簡單實例講解,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說什么是php遞歸函數及簡單實例講解,小編也收集到了有關什么是php遞歸函數及簡單實例講解的相關資料,希望大家看到了會喜歡。
什么是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 作為參數調用 test()函數。在 test()函數體中,第一條代碼輸出參數的值和一個空格。然后判斷條件是否成立,成立則調用自己并將參數減 1 再次傳入。開始調用時,它是外層調內層,內層調更內一層,直到最內層由于條件不允許必須結束。最內存結束了,輸出 <--------> 作為分界符,執行調用之后的代碼輸出參數的值和空格,它就會回到稍外一層繼續執行。稍外一層在結束時,退回到在稍外一層繼續執行,層層推出,直到最外層結束。執行完成以后的結果就是我們上面看到的結果。
以上就是php遞歸函數及簡單實例講解,下一章我們將介紹php實現遞歸函數的三種方法。
【相關教程推薦】
1. 《php.cn獨孤九賤(4)-php視頻教程》
2. php編程從入門到精通全套視頻教程
3. php實戰視頻教程
以上就是什么是php遞歸函數及簡單實例講解的詳細內容,更多請關注php中文網其它相關文章!
來源:php中文網