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 相关文章推荐
用Flash图形化数据(二)
Oct 09 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
FleaPHP的安全设置方法
Sep 15 PHP
php checkbox 取值详细说明
Aug 19 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
Php-Redis安装测试笔记
Mar 05 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
Oct 22 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
Mar 17 PHP
php代码检查代理ip的有效性
Aug 19 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
使用Zttp简化Guzzle 调用
2017/07/02 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
php集成开发环境详解
2019/09/24 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
python encode和decode的妙用
2009/09/02 Python
python标准日志模块logging的使用方法
2013/11/01 Python
Python中的引用知识点总结
2019/05/20 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
python代码实现图书管理系统
2020/11/30 Python
python简单实现插入排序实例代码
2020/12/16 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
爱心捐款倡议书
2014/04/14 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
责任书格式
2019/04/18 职场文书
Nginx进程管理和重载原理详解
2021/04/22 Servers
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python