今天撸代码遇到递归返回值的问题。现在回过头细想这是一个很简单的问题。可就是被这个简单的问题困扰了很久。问题出在递归函数的返回值上。
举个栗子:
<?php
function test($i) {
$i -= 4;
if($i < 3){
return $i;
}else{
test($i);
}
}
$result=test(30);
var_dump($result);看上去似乎没毛病吧,其实else里面是有问题的,是没有返回值的,最终结果打印为:null
对上面代码做如下更改
<?php
function test($i) {
$i -= 4;
if($i < 3){
return $i;
}else{
return test($i);
}
}
$result=test(30);
var_dump($result);最终会打印出2;
END
转载请注明本文标题和链接:《 PHP递归调用无返回值问题 》



网友评论 0