PHP遞歸演算法的應用
#遞歸函數為自呼叫函數,在函數體內直接或直接自個調用自個,但需求設定自調用的條件,若滿意條件,則調用函數自身,若不滿意則停止本函數的自調用,然後把目前流程的主控權交回給上一層函數來履行,也許這麼給我們解說,仍是很難理解,例如:
範例:
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()函數,而是echo “”,並且履行後邊的echo 0,此刻函數現已不再呼叫自個,開端將流程的主控權交回給上一層函數來履行,也即是開端履行剛剛一切test()函數來不及輸出的最終一個echo,0的一層是1也即是輸出1 1的上一層是2 也即是輸出2 2沒有山一層所以呢輸出的內容即是2 1 05fb6f3beb31540706eb26a1cd1069f9d0 1 2
感謝大家耐心的閱讀,希望大家有所收益。
推薦教學:《PHP教學》
以上是PHP遞歸演算法的應用(含範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!