PHP遞歸返回值時出現(xiàn)的問題解決辦法分享
作者:佚名
PHP遞歸返回值時會出現(xiàn)執(zhí)行的test沒有返回值這樣的問題,那么該如何解決這一問題呢?我們在接下來的文章中做了具體的介紹。
我們在使用PHP遞歸時,會遇到各種各樣的問題,其中比較令人苦惱的是有關(guān)PHP遞歸返回值時出現(xiàn)的問題。其實細細想想這是一個很簡單的問題。可就是這個簡單的問題困擾了半個下午。問題出在遞歸函數(shù)的返回值上。
#t#這是開始寫的:
- < ?php
- function test($i)
- {
- $i -= 4;
- if($i < 3)
- {
- return $i;
- }
- else
- {
- test($i);
- }
- }
- echo test(30);
- ?>
這段代碼看起來沒有問題,其實有else里面是有問題的。在這里執(zhí)行的test沒有返回值。所以雖然滿足條件$i < 3時 return $i整個函數(shù)還是不會返回值的。對上面的PHP遞歸返回值函數(shù)做如下修改:
- < ?php
- function test($i)
- {
- $i -= 4;
- if($i < 3)
- {
- return $i;
- }
- else
- {
- return test($i); //增加return, 讓函數(shù)返回值
- }
- }
- echo test(30);
- ?>
以上代碼示例就是PHP遞歸返回值出現(xiàn)問題時的具體解決方法。
責(zé)任編輯:曹凱
來源:
網(wǎng)易博客