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

相关文章
相关标签/搜索