1.递归:程序调用自身的编程技巧称为递归
2.案例:
/** * @param 递归 $[name] */ function deeploop(&$i=1){ echo $i; $i++; if($i < 10){ deeploop($i); } } deeploop(); 结果:123456789
3.global
/** * @param 递归 $[name] */ $i = 1; function deeploop(){ global $i; //Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。 echo $i; $i++; if($i < 10){ deeploop($i); } } deeploop();
4.static
/** * @param 递归 $[name] */ function deeploop(){ static $i; echo $i; $i++; if($i < 10){ deeploop($i); } } deeploop();
5.说白了递归就是一个循环,用循环实现和递归实现是同样的效果。
/** * @param 递归 $[name] */ for($i=1;$i<10;$i++){ echo $i; } function deeploop(){ static $i; echo $i; $i++; if($i < 10){ deeploop($i); } } deeploop();
结果:
1233456789
123456789