PHP遞歸算法的應用
遞歸函數(shù)為自調(diào)用函數(shù),在函數(shù)體內(nèi)直接或直接自個調(diào)用自個,但需求設置自調(diào)用的條件,若滿意條件,則調(diào)用函數(shù)自身,若不滿意則停止本函數(shù)的自調(diào)用,然后把目前流程的主控權交回給上一層函數(shù)來履行,也許這么給我們解說,仍是很難理解,比如:
示例:
function test ($n){ echo $n." "; if($n>0){ test($n-1); }else{ echo ""; } echo $n." "; } test(2) 這個比如終究的輸出結果是2 1 0<–>0 1 2
我解說下 為何輸出是這樣的
① 履行test(2),echo 2,然后由于2>0,履行test(1), 后邊還有沒來得及履行的echo 2
② 履行test(1),echo 1,然后由于1>0,履行test(0),相同后邊還有沒來得及履行的 echo 1
③ 履行test(0),echo 0,履行test(0),echo 0, 此刻0>0的條件不滿意,不在履行test()函數(shù),而是echo “”,并且履行后邊的 echo 0,此刻函數(shù)現(xiàn)已不再調(diào)用自個,開端將流程的主控權交回給上一層函數(shù)來履行,也即是開端履行剛剛一切test()函數(shù)沒來得及輸出的最終一個echo,0的一層是1也即是輸出1 1的上一層是2 也即是輸出2 2沒有山一層 所以呢 輸出的內(nèi)容即是2 1 0<–>0 1 2
感謝大家耐心的閱讀,希望大家有所收益。
推薦教程:《PHP教程》