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

 

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

寫個小例子:spa

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

 

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

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

成功運行。blog

相關文章
相關標籤/搜索