php 递归解析

原创
2016-08-08 09:24:12 1000浏览
function test($i){//第一步
	$i  -= 4; 
	if($i
function test($i){//第一步
	$i  -= 4; 
	if($i		return $i; //第二步
	}else{ 
		function test($i){//第 3步
			$i  -= 4; 
			if($i				return $i; //第4步
			}else{ 
				test();//第5步
			} 
		} 
	} 
} 
echo test(30); 
上面的的第一段代码作为例子

写这样代码的人可以没完全理解递推,

下面使用test(10)调用,在执行过程中,如果条件成立,则直接返回结果,

如果条件不成立则继续调用test(),猛一看这样写没问题,其实,当第一次调用条件不成立时再调用一次时,即使成立也没用返回值,第二段代码是两次调的结果:

假如在第二次调用,代码执行到第四步时结果成立,他的动作是return 2; 现在代码成什么样子了呢,看下面

function test($i){//第一步
	$i  -= 4; 
	if($i

只有一个单独的2,他要怎么返回到下面呢,前面要加一个return ;

所以完整的代码应该是这样的。

function test($i){//第一步
	$i  -= 4; 
	if($i

以上就介绍了php 递归解析,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。