您的位置:时间博客>PHP>PHP递归调用无返回值问题

PHP递归调用无返回值问题

今天撸代码遇到递归返回值的问题。现在回过头细想这是一个很简单的问题。可就是被这个简单的问题困扰了很久。问题出在递归函数的返回值上。

举个栗子:

<?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

未登陆 表情
Ctrl+Enter快速提交