|
復制代碼 代碼如下:
function test($i){
$i-=4;
if($i<3){
return $i;
}else{
test($i);
}
}
echotest(30);
這段代碼看起來沒有問題,如果不運行一下估計你也不會認為他有什么問題,及時運行起來發現有問題你也不一定知道哪里有問題,但其實這個函數的else里面是有問題的。在這段代碼里面執行的結果是沒有返回值的。所以雖然滿足條件 $i<3 時return $i整個函數還是不會返回值的。因此對上面的php遞歸函數可做如下修改(更多php教程請訪問代碼家園):
復制代碼 代碼如下:
function test($i){
$i-=4;
if($i<3){
return $i;
}else{
return test($i);//增加return,讓函數返回值
}
}
echotest(30);
php技術:php遞歸函數中使用return的注意事項,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。