当前位置:Gxlcms > PHP教程 > php递归解析

php递归解析

时间:2021-07-01 10:21:17 帮助过:37人阅读

function test($i){//第一步
	$i  -= 4; 
	if($i<3){ 
		return $i; //第二部
	}else{ 
		test($i); //第三部
	} 
} 
echo test(10); 
function test($i){//第一步
	$i  -= 4; 
	if($i<3){ 
		return $i; //第二步
	}else{ 
		function test($i){//第 3步
			$i  -= 4; 
			if($i<3){ 
				return $i; //第4步
			}else{ 
				test();//第5步
						} 
} 
echo test(30); 
上面的的第一段代码作为例子

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

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

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

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

function test($i){//第一步
	$i  -= 4; 
	if($i<3){ 
		return $i; //第二部
	}else{ 
		2;
	} 
} 
echo test(10); 

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

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

function test($i){//第一步
	$i  -= 4; 
	if($i<3){ 
		return $i; //第二部
	}else{ 
		return test($i);
	} 
} 
echo test(10); 

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

人气教程排行