遞歸的含義:
????????就是一個函數(shù)內部再調用該函數(shù)本身的一種情形,這是語法形式上的。
具體場景是:
????????如果要解決的“最終問題”,可以根據比該問題“小一級”的問題的答案而得到解決,
并且,該“小一級”的問題,還可以根據比其“更小一級”的問題的答案而得到解決,
以此類推,直到“最小一級”的問題。如果最小一級問題已知,則最終的問題也就解決了。
危險:
????????如果函數(shù)在執(zhí)行的過程中沒有一個“不再調用”的終結機制,那么就會出現(xiàn)“停不下來”的現(xiàn)象。
原理:
????????要想得到最大(最終)問題(可以稱為n級)的答案,如果能得到n-1級的答案,則可以“輕松算出”;并且,還能夠知道這些問題中的“最小一級”的答案。
則這種情況,就可以使用遞歸思想來解決:從最大一級開始,一級一級往小的方向找。

遞歸調用過程的代碼演示;
function ? ?f1($n){
? ? ? ? ? ?$n++;
? ? ? ? ? ? echo ? " $n " ;
? ? ? ? ? ? if($n < 5){
? ? ? ? ? ? ? ? ? ? f1($n);
? ? ? ? ? ? }
? ? ? ? ? ? echo ?" $n " ;
}
f1(1);
輸出結果及分析:

舉例1:計算5的階乘
數(shù)學上階乘可以這樣來描述,一個數(shù)n的階乘,是n-1的階乘,乘以n的結果!假設,我們有一個函數(shù) fn(),它可以計算任意正整數(shù)n的階乘;

舉例2:
計算斐波那契數(shù)列第10項的值:1, 1, 2, 3, 5, 8, 13, 21, ......
假設有個函數(shù),可以計算斐波那契數(shù)列的第n項:
