前段时间在写递归函数的时候碰到个问题,返回值一直为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);
成功运行。