php递归算法总结
递归算法的实现方法是有多种的,如通过“静态变量”、“全局变量”、“引用传参”的方式: 静态变量 的方法: <?php function call(){ static $i = 0; echo $i . ''; $i++; if($i<10){ call(); } } call(); 输出: 0 1 2 3 4 5 6 7 8 9 利用static定义静态变量来实现递归排序。如上我们定义了一个call方法和静态变量$i,如果我们不给$i变量添加判断,而是直接运行,就会出现死循环。所以我们这里添加了一个if条件判断语句。最后循环调用自身方法 全局变量Global 实现递归: 1 <?php 2 $i=1; 3 function call(){ 4 global $i; 5 echo $i; 6 $i++; 7 if($i<=10){ 8 call(); 9 } 10 } 11 call(); 输出: 12345678910 如果没有在方法体内用global 定义$i,则会出现$i未被声明的错误。并且需要注意,在函数体内定义的global变量,函数体内可以使用,在函数体外定义的global变量不能在函数体内使用。 注:Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。递归即调用自身的函数。在使用递归时