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