递归:函数自己调用自己的一种编程方法,类似于循环,所以递归调用的函数中必须有终止条件,否则就会成为死循环
无限级:其实并不是真正的无限级,只是层级不确定,所以我们称之为无限级
因为常用递归实现无限级分类,所以我们习惯说无限级的时候带上分类。
递归的三种常用技法:
静态变量、全局变量、引用
一 静态变量方式
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