PHP递归三种常用方式:静态变量、全局变量、引用

2019-02-2819:54:37后端程序开发Comments3,872 views字数 521阅读模式

递归:函数自己调用自己的一种编程方法,类似于循环,所以递归调用的函数中必须有终止条件,否则就会成为死循环文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

无限级:其实并不是真正的无限级,只是层级不确定,所以我们称之为无限级文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

因为常用递归实现无限级分类,所以我们习惯说无限级的时候带上分类。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

递归的三种常用技法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

静态变量、全局变量、引用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

一 静态变量方式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

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

二 全局变量方式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

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

三 引用传参方式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

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

递归经常被用在处理无限级的问题上,通过以上三种手法再结合实际情况,灵活运用就可以解决自己的无限级问题。如果你是新手,我很乐意在评论里看到你的困惑。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/9777.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/9777.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定