今天撸代码遇到递归返回值的问题。现在回过头细想这是一个很简单的问题。可就是被这个简单的问题困扰了很久。问题出在递归函数的返回值上。
举个栗子:
<?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递归调用无返回值问题 》