新聞中心

在昌江等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需定制,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),昌江網(wǎng)站建設(shè)費用合理。
遞歸函數(shù)最大的好處在于可以精簡程序中繁雜重復(fù)的程序,并且能以這種特性來執(zhí)行一些較為復(fù)雜的運算動作。例如列表、動態(tài)樹型菜單以及遍歷目錄等操作。相應(yīng)的非遞歸函數(shù)雖然效率高,但卻比較難編程,而且相對來說可讀性差。
遞歸思想
遞歸的主要思想就是,把一個相對復(fù)雜的問題(原始問題)轉(zhuǎn)化為一個個與原問題相似的規(guī)模較小的問題(子問題)來解決,等一個個小問題解決了,最終的大問題自然就解決了。
遞歸方法只需少量的程序就可描述出解題過程所需要的多次重復(fù)計算,大大減少程序的代碼量。當(dāng)然,遞歸函數(shù)也不是完美的,也有一定的缺點,那就是遞歸方法函數(shù)的運行效率不高。
在 PHP 中最大遞歸層數(shù)也不是沒有限制的,這與程序的內(nèi)存限額有關(guān),PHP5 默認(rèn)允許一個程序使用 128M 的內(nèi)存,因此當(dāng)遞歸層數(shù)過大導(dǎo)致 128M 內(nèi)存耗盡時,程序就會產(chǎn)生一個致命錯誤并退出。PHP7 默認(rèn)允許使用 256M 的內(nèi)存。
PHP 允許使用的最大內(nèi)存可以通過修改 php.ini 文件來修改,如下所示:
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit=256M
PHP中的遞歸
想要實現(xiàn)遞歸,需滿足以下兩個條件:
- 子問題需與原始問題為同樣的事,且更為簡單。
- 不能無限制地調(diào)用本身,必須有一個出口,化簡為非遞歸狀況處理。
【示例】使用遞歸函數(shù)實現(xiàn) n! 的階乘。
運行結(jié)果如下:
15 的階乘是:1307674368000
【示例】計算斐波那契數(shù)列。
斐波那契數(shù)列數(shù)列如下所示:
1、1、2、3、5、8、13、21、34、...
實現(xiàn)代碼如下所示:
運行結(jié)果如下:
數(shù)列第 10 位是:55
網(wǎng)站標(biāo)題:PHP遞歸函數(shù)
本文地址:http://www.dlmjj.cn/article/cosjssj.html


咨詢
建站咨詢
