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);

成功运行。

 

posted @ 2019-06-30 10:26  幽篁晓筑  阅读(1319)  评论(1编辑  收藏  举报