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