php遞迴函式及簡單例項講解

2021-08-31 01:24:26 字數 1055 閱讀 4940

遞迴函式即自呼叫函式,在函式體內部直接或者間接的自己呼叫自己,即函式的巢狀呼叫是函式本身。通常在此型別的函式提之中會附加乙個條件判斷敘述,以判斷是否需要執行遞迴呼叫,並且在特定的條件下終止函式的遞迴呼叫動作,把目前流程的主控權交回到上一層函式來執行。以此,當某個執行遞迴呼叫的函式沒有附加條件判斷敘述時,可能會造成無限迴圈的錯誤情形。

函式遞迴呼叫最大的好處在於可以精簡程式中的複雜重複呼叫程式,並且能以這種特性來執行一些較為複雜的運算動作。例如,列表、動態樹形選單及遍歷目錄等操作。相應的非遞迴函式雖然效率高,但卻比較難程式設計,而且相對來說可讀性差。現代程式設計的目標主要是可讀性好。隨著計算機硬體效能的不斷提高,程式在更多的場合優先考慮可讀而不是高效,所以,鼓勵用遞迴函式實現程式思想。

乙個簡單的遞迴呼叫例項如下所示:

<?php

//宣告乙個函式,用於測試遞迴

function

test($n

)else

echo$n.

" ";

}test(10

);//呼叫test函式將整數10傳給引數

?>

該程式執行後輸出如下的結果:

1098

7654

3210

<

----

----

>01

2345

6789

10

說明:在上面的例項中宣告了乙個 test()函式,該函式需要乙個整型的引數。在函式外面通過傳遞整數 10 作為引數呼叫 test()函式。在 test()函式體中,第一條**輸出引數的值和乙個空格。然後判斷條件是否成立,成立則呼叫自己並將引數減 1 再次傳入。開始呼叫時,它是外層調內層,內層調更內一層,直到最內層由於條件不允許必須結束。最記憶體結束了,輸出 <--------> 作為分界符,執行呼叫之後的**輸出引數的值和空格,它就會回到稍外一層繼續執行。稍外一層在結束時,退回到在稍外一層繼續執行,層層推出,直到最外層結束。執行完成以後的結果就是我們上面看到的結果。

php建構函式例項講解

php官網定義 複製 如下 建構函式是類中的乙個特殊函式,當使用 程式設計客棧new 操作符建立乙個類的例項時,構造函dtwxupybst數將會自動呼叫。當函式與類同名時,這個函式將成為建構函式。如果乙個類沒有建構函式,則呼叫基類的建構函式,如果有的話,則dtwxupybst呼叫自己的建構函式 如a...

Scrapy簡單入門及例項講解

scrapy是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。其可以應用在資料探勘,資訊處理或儲存歷史資料等一系列的程式中。其最初是為了頁面抓取 更確切來說,網路抓取 所設計的,也可以應用在獲取api所返回的資料 例如 amazon associates web services 或者通用的網路...

遞迴演算法例項講解

題圖 遞迴 在數學與電腦科學中,遞迴是指在函式的定義中使用函式自身的方法。遞迴演算法是一種直接或者間接地呼叫自身演算法的過程。在計算機編寫程式中,遞迴演算法對解決一大類問題是十分有效的,它往往使演算法的描述簡潔而且易於理解。遞迴演算法解決問題的特點 1 遞迴就是在過程或函式裡呼叫自身。2 在使用遞迴...