前段时间在写递归函数的时候碰到个问题,返回值一直为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);
成功运行。
本文通过一个具体的PHP递归函数实例,详细解析了为何函数返回值会出现null的情况,并给出了正确的递归调用方式,确保函数能够正确返回预期结果。
4万+

被折叠的 条评论
为什么被折叠?



