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 相关文章推荐
ubuntu 编译安装php 5.3.3+memcache的方法
Aug 05 PHP
PHP原理之异常机制深入分析
Aug 08 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
hadoop常见错误以及处理方法详解
Jun 19 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
4种PHP异步执行的常用方式
Dec 24 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 PHP
php 如何禁用eval() 函数实例详解
Dec 01 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
PHP实现会员账号单唯一登录的方法分析
Mar 07 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 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
PHP中的integer类型使用分析
2010/07/27 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
javascript实现拖放效果
2015/12/16 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
Python爬虫模拟登录带验证码网站
2016/01/22 Python
python如何通过protobuf实现rpc
2016/03/06 Python
Python正则表达式分组概念与用法详解
2017/06/24 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
西部世纪面试题
2014/12/05 面试题
接口的多继承会带来哪些问题
2015/08/17 面试题
写给老师的表扬信
2014/01/21 职场文书
买房协议书范本
2014/10/23 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript