查看完整版本: 關於這段程式我完全看不懂,可否請前輩白話解釋?(已解決,感謝各位前輩)
頁: [1]

chialewang 發表於 2019-8-6 11:13 AM

關於這段程式我完全看不懂,可否請前輩白話解釋?(已解決,感謝各位前輩)

本帖最後由 chialewang 於 2019-8-8 11:08 AM 編輯

各位前輩 您們好:

        function showResult($Num){
                if ($Num==0){
                        return 1;
                }else{
                        return $Num*showResult($Num-1);
                }
        }
        echo '5的階層為:'.showResult(5).'<br>';


關於這段程式我完全看不懂,可否請前輩白話解釋?

麻煩各位前輩了 感恩{:54:}
<div></div>

daneil4444 發表於 2019-8-7 09:12 AM

本帖最後由 daneil4444 於 2019-8-7 09:18 AM 編輯

showResult是一個函數,自己內部又呼叫自己showResult,是一個遞迴函數
第一回:showResult(5)    $Num=5  $Num沒有等於0  所以執行else  5*showResult(5-1)
第二回:5*showResult(4)  $Num=4  $Num沒有等於0  所以執行else  5*4*showResult(4-1)
.....以此類推,一直做到5*4*3*2*1*showResult(1-1),showResult(1-1) $Num=0  所以執行if() $Num=1  
最終  5*4*3*2*1*1 結束!
這是一個計算階層的函數



...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

chialewang 發表於 2019-8-8 11:07 AM

daneil4444 發表於 2019-8-7 09:12 AM static/image/common/back.gif
showResult是一個函數,自己內部又呼叫自己showResult,是一個遞迴函數
第一回:showResult(5)    $Num=5  $ ...

daneil4444 前輩 您好:

有點了解您的意思
還在消化中.......

感謝您的回覆 感恩
頁: [1]