PHP递归的三种常用方式


Posted in PHP onFebruary 28, 2019

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

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

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

递归的三种常用技法:

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

一 静态变量方式

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 相关文章推荐
使用php shell命令合并图片的代码
Jun 23 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
php MessagePack介绍
Oct 06 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
php计算整个目录大小的方法
Jun 01 PHP
Joomla开启SEF的方法
May 04 PHP
cakephp常见知识点汇总
Feb 24 PHP
PHP copy函数使用案例代码解析
Sep 01 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 PHP
PHP递归算法的简单实例
Feb 28 #PHP
PHP根据key删除数组中指定的元素
Feb 28 #PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 #PHP
PHP中rename()函数的妙用讲解
Feb 28 #PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 #PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 #PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 #PHP
You might like
杏林同学录(三)
2006/10/09 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
2007/09/30 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
php的curl封装类用法实例
2014/11/07 PHP
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
javascript中input中readonly和disabled区别介绍
2012/10/23 Javascript
js replace正则表达式应用案例讲解
2013/01/17 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
js实现微信聊天界面
2020/08/09 Javascript
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
Python pickle模块用法实例
2015/04/14 Python
python 实现矩阵按对角线打印
2019/11/29 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
税务干部鉴定材料
2014/02/11 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
住房抵押登记委托书
2014/09/27 职场文书
求职信范文怎么写
2015/03/19 职场文书
nginx部署多前端项目的几种方法
2021/05/25 Servers
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python