php遞迴返回值的問題
阿新 • • 發佈:2019-01-31
我們在使用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
function test($i)
{
$i -= 4;
if($i < 3)
{
return $i;
}
else
{
return test($i); //增加return, 讓函式返回值
}
}
echo test(30);
?>
以上程式碼示例就是PHP遞迴返回值出現問題時的具體解決方法。