PHP递归算法的简单实例


Posted in PHP onFebruary 28, 2019

递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解,比如

function test ($n){
  echo $n." ";
  if($n>0){
    test($n-1);
  }else{
    echo "";
  }
  echo $n." "
}
test(2)

这个比如终究的输出结果是

2 1 0<?>0 1 2

我解说下,为何输出是这么的

第一步,履行test(2),echo 2,然后由于2>0,履行test(1), 后边还有没来得及履行的echo 2

第二步,履行test(1),echo 1,然后由于1>0,履行test(0),相同后边还有没来得及履行的 echo 1

第三步,履行test(0),echo 0,履行test(0),echo 0, 此刻0>0的条件不满意,不在履行test()函数,而是echo “”,并且履行后边的 echo 0

此刻函数现已不再调用自个,开端将流程的主控权交回给上一层函数来履行,也即是开端履行刚刚一切test()函数没来得及输出的最终一个echo,0的一层是1也即是输出1 1的上一层是2 也即是输出2 2没有山一层 所以呢 输出的内容即是2 1 0<?>0 1 2

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
PHP静态类
Nov 25 PHP
php cache类代码(php数据缓存类)
Apr 15 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
Yii2 assets清除缓存的方法
May 16 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 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
PHP删除数组中特定元素的两种方法
Feb 28 #PHP
You might like
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
vue实现简易的双向数据绑定
2020/12/29 Vue.js
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
win10系统中安装scrapy-1.1
2016/07/03 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
通信专业个人自我鉴定
2013/10/21 职场文书
大学生简单自荐信
2013/11/10 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
保护母亲河倡议书
2014/04/14 职场文书
三严三实对照检查材料
2014/08/25 职场文书
开天辟地观后感
2015/06/09 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
JS setTimeout与setInterval的区别
2022/04/20 Javascript