PHP遞歸函數return返回null的問題


 

前段時間在寫遞歸函數的時候碰到個問題,返回值一直為null,這里記錄一下。

寫個小例子:

/**
 * @param $i
 * @return mixed
 */
function recursion($i)
{
    if($i > 10){
        return $i;
    }else{
        $i++;
        recursion($i);
    }
}
echo recursion(1);

 

上述例子會返回null,主要原因是調用遞歸函數的時候沒有return,在recursion($i)前面加個return就可以了。

/**
 * @param $i
 * @return mixed
 */
function recursion($i)
{
    if($i > 10){
        return $i;
    }else{
        $i++;
        return recursion($i);
    }
}
echo recursion(1);

成功運行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM