php 使用递归的三种手法

递归:函数自己调用自己的一种编程方法,类似于循环,所以递归调用的函数中必须有终止条件,否则就会成为死循环

无限级:其实并不是真正的无限级,只是层级不确定,所以我们称之为无限级

因为常用递归实现无限级分类,所以我们习惯说无限级的时候带上分类。

递归的三种常用技法:

静态变量、全局变量、引用

一 静态变量方式

function loop(){
	static $i = 0;
	echo $i.' ';
	$i++;
	if($i<10){
         loop();
	}
}
loop();//输出 0 1 2 3 4 5 6 7 8 9


二 全局变量方式

$i = 0;

function loopGlobal(){
    global $i;
	echo $i.' ';
	$i++;
	if($i<10){
       loopGlobal();
	}
}
loopGlobal();//输出 0 1 2 3 4 5 6 7 8 9 


三 引用传参方式

function loopReference(&$i=0){
  echo $i.' ';
  $i++;
  if($i<10){
   loopReference($i);
  }
}
loopReference();//输出 0 1 2 3 4 5 6 7 8 9 

递归经常被用在处理无限级的问题上,通过以上三种手法再结合实际情况,灵活运用就可以解决自己的无限级问题。如果你是新手,我很乐意在评论里看到你的困惑。


你可能感兴趣的:(php)