php递归函数的用法,PHP递归函数用法
PHP遞歸函數(shù)用法
遞歸函數(shù)即為自調(diào)用函數(shù),在函數(shù)體內(nèi)直接或間接進(jìn)行自調(diào),但需要設(shè)置自調(diào)的條件,若滿足條件,則調(diào)用函數(shù)本身,若不滿足則終止本函數(shù)的自調(diào),然后把流程的主控權(quán)返回給上一層函數(shù)執(zhí)行。
代碼示例
<?php //聲明一個(gè)函數(shù),用于測(cè)試遞歸 function test($n){ echo $n."?"; //在函數(shù)開始輸出參數(shù)的值 if($n>0){ //判斷參數(shù)是否大于0 test($n-1); //如果參數(shù)大于0則調(diào)用自己,并將參數(shù)減1后再次傳入 }else{ //判斷參數(shù)是不大于0 echo " "; } echo $n."?"; } test(10); //調(diào)用test函數(shù)將整數(shù)10傳給參數(shù)?>
首先思考一下,這個(gè)例子最終的輸出結(jié)果是什么?
好,來看一下本函數(shù)輸出的結(jié)果:
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10
怎么樣,不知道這個(gè)結(jié)果是否跟設(shè)想的一樣呢?
步驟講解
第一步,執(zhí)行test(10),echo 10,然后因?yàn)?0>0,執(zhí)行test(9),后面還有沒來得及執(zhí)行的echo 10
第二步,執(zhí)行test(9),echo 9,然后因?yàn)?>0,執(zhí)行test(8),同樣后面還有沒來得及執(zhí)行的 echo 9
第三步,執(zhí)行test(8),echo 8,然后因?yàn)?>0,執(zhí)行test(7),同樣后面還有沒來得及執(zhí)行的 echo 8
第四步,執(zhí)行test(7),echo 7,然后因?yàn)?>0,執(zhí)行test(6),同樣后面還有沒來得及執(zhí)行的 echo 7
第五步,執(zhí)行test(6),echo 6,然后因?yàn)?>0,執(zhí)行test(5),同樣后面還有沒來得及執(zhí)行的 echo 6
………..
第十步,執(zhí)行test(0),echo 0,此時(shí)0>0的條件不滿足,不在執(zhí)行test()函數(shù),而是echo “”,并且執(zhí)行后面的 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教程》
總結(jié)
以上是生活随笔為你收集整理的php递归函数的用法,PHP递归函数用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源漏洞扫描器合集
- 下一篇: 超市管理系统软件测试用例图,《天天超市管