上篇文章給大家介紹了《PHP中什么是URL.session id?他們之間有什么安全隱患?session id的作用?》,本文繼續(xù)給大家介紹PHP中什么是遞歸函數(shù)?基本要素是什么?他的用途是什么?(附代碼)本篇文章,將會讓你們有不一樣的收獲,一起去繼續(xù)探索PHP的奧秘吧?。?!
什么是遞歸函數(shù):
遞歸就是某個函數(shù)直接或間接地調用了自身,這種調用方式叫做遞歸調用。說白了,還是函數(shù)調用。既然是函數(shù)調用,那么就有一個雷打不動的原則:所有被調用的函數(shù)都將創(chuàng)建一個副本,各自為調用者服務,而不受其他函數(shù)的影響。
遞歸有兩個基本要素:
-
邊界條件:確定遞歸到何時終止,也稱為遞歸出口。
-
遞歸模式:大問題是如何分解為小問題的,也稱為遞歸體。遞歸函數(shù)只有具備了這兩個要素,才能在有限次計算后得出結果。
遞歸函數(shù)的用途:
遞歸函數(shù)通常用來解決結構自相似的問題
具體我們以代碼為例:
<?php function num( $num){ echo $num; if($num > 0){ num($num - 1); }else{ echo '<hr/>'; } echo $num; } num(2); ?>
代碼解析:
首先定義一個function num()函數(shù),然后我們在定義一個$num放在function函數(shù)中,緊接著我們進來輸出(echo)剛剛定義的函數(shù)($num),同樣出去也輸出($num),緊接著我們使用if語句進行判斷($num>0),我們進行(num-1),否則就輸出一條橫線,輸出(echo)$num;這時當我們調用num并傳入一個2時,此時我們輸出的結果會得到我們所運行的代碼(如下所示);以上代碼是怎樣執(zhí)行的呢?首先我們是調用一個num的函數(shù),此時我們所賦值的2會賦值給num,所以輸出num就是2,緊接著進入到if語句中進行判斷,我們會發(fā)現(xiàn)依然在調用函數(shù),此時我們輸出為1 賦給num,而num的值也就是1,以此類推,我們就會得到210-012
執(zhí)行結果:
推薦學習:《PHP視頻教程》