1. 程式人生 > >php遞迴返回值的問題

php遞迴返回值的問題

我們在使用PHP遞迴時,會遇到各種各樣的問題,其中比較令人苦惱的是有關PHP遞迴返回值時出現的問題。其實細細想想這是一個很簡單的問題。可就是這個簡單的問題困擾了半個下午。問題出在遞迴函式的返回值上。

這是開始寫的:

程式碼如下:


<?php
function test($i)
{
       $i -= 4;
      if($i < 3)
       {
           return $i;
       }
       else
         {
           test($i);
         }
}
echo test(30);
?>

這段程式碼看起來沒有問題,其實有else裡面是有問題的。在這裡執行的test沒有返回值。所以雖然滿足條件$i < 3時 return $i整個函式還是不會返回值的。
對上面的PHP遞迴返回值函式做如下修改:
程式碼如下:
< ?php
function test($i)
{
$i -= 4;
if($i < 3)
{
return $i;
}
else
{
return test($i); //增加return, 讓函式返回值
}
}
echo test(30);
?>

以上程式碼示例就是PHP遞迴返回值出現問題時的具體解決方法。