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);
成功运行。