递归简单来说就是自己调用自己

比如说

A向B问路 但是B不知道 于是乎B问C 但是C不知道 于是乎问D D知道 D把怎么走告诉C C在把怎么走告诉B B再把怎么走告诉A

A虽然是最先问的 但是是最后一个知道怎么走的 这是一个在函数内部打开函数(它自己)和在达到目的不断关闭函数(它自己)直到返回第一遍执行的函数的过程

从上面这句话可以得出 递归必须要有一个递归边界 也就是这个目的 同时它是有一个向前进(打开)和返回(关闭)的步骤的

写个简单的递归

function t($a){
        echo '这是前进段!';
        echo $a.'<br />';
        if($a<10){return $a;}
        t($a-1);
        echo '这是返回段!';
        echo $a.'<br />';
}
t(39);

PHP递归的简单理解的更多相关文章

  1. javascript --- 递归的简单理解

    递归函数大家都应该比较熟吧?那么,如何在JavaScript中书写一个完美的递归函数呢?且听我娓娓道来. 递归函数 写的时候,查了一下维基百科对递归函数的定义,恕我愚钝,简直太深奥了!所以,我还是简单 ...

  2. git的简单理解及基础操作命令

    前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制管理>这本书(偏理论,内容完善,很不错),针对所学 ...

  3. 简单理解Struts2中拦截器与过滤器的区别及执行顺序

    简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标 ...

  4. [转]简单理解Socket

    简单理解Socket 转自 http://www.cnblogs.com/dolphinX/p/3460545.html  题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公 ...

  5. Js 职责链模式 简单理解

    js 职责链模式 的简单理解.大叔的代码太高深了,不好理解. function Handler(s) { this.successor = s || null; this.handle = funct ...

  6. Deep learning:四十六(DropConnect简单理解)

    和maxout(maxout简单理解)一样,DropConnect也是在ICML2013上发表的,同样也是为了提高Deep Network的泛化能力的,两者都号称是对Dropout(Dropout简单 ...

  7. Deep learning:四十二(Denoise Autoencoder简单理解)

    前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Be ...

  8. 简单理解dropout

    dropout是CNN(卷积神经网络)中的一个trick,能防止过拟合. 关于dropout的详细内容,还是看论文原文好了: Hinton, G. E., et al. (2012). "I ...

  9. 我们为之奋斗过的C#-----C#的一个简单理解

    我们首先来简单叙述一下什么是.NET,以及C#的一个简单理解和他们俩的一个区别. 1 .NET概述 .NET是Microsoft.NET的简称,是基于Windows平台的一种技术.它包含了能在.NET ...

  10. 简单理解ECMAScript2015中的箭头函数新特性

    箭头函数(Arrow functions),是ECMAScript2015中新加的特性,它的产生,主要有以下两个原因:一是使得函数表达式(匿名函数)有更简洁的语法,二是它拥有词法作用域的this值,也 ...

随机推荐

  1. esxi虚拟机定时创建快照

    1.vim-cmd vmsvc/getallvms  列出所有虚拟机信息 2.获取需要备份的虚拟机的Vmid 3.执行快照  vim-cmd vmsvc/snapshot.create Vmid $( ...

  2. 苹果手机备份及itunes下载更新路径

    1.itunes备份路径: C:\Users\xxx.xxx\AppData\Roaming\Apple Computer\MobileSync\Backup\ 2.itunes更新IOS路径: C: ...

  3. 统计 nginx access.log

    awk '{print $1}' access22.log | sort | uniq -c | sort -nr -k1

  4. 页面布局 Stack 层叠组件 Stack 与 Align Stack 与 Positioned 实现定位布局

    一.Flutter Stack 组件 Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局 属性 说明 ...

  5. 常见的hash数据结构

    遍历 hash表是一种比较简单和直观的数据结构,在查找时也有很好的性能.但是hash表不能提供有序遍历,这个是其特性决定,所以不足为奇.但是,更为实际的一个问题是如果遍历整个hash表中的所有元素? ...

  6. 像MIUI一样做Zabbix二次开发(3)——Zabbix深度定制的意义

    深度定制的意义 综合来讲,Zabbix是一个非常强大的监控平台,简单拿来完成监控一些Hosts,没有什么问题,而且,目前国内大部分客户都是这么做的,基本上是安装完后,网上找到一些相关模板,配置后把Ho ...

  7. Git 初始命令行

    命令行指令 Git 全局设置 git config --global user.name "Administrator" git config --global user.emai ...

  8. antd Vue--this.$confirm弹窗使用

    看API中this.$confirm弹窗使用不对 讲的也不明确,在此记录下正确的用法 this.$confirm("确认删除文件?",{ type:'error'}).then(( ...

  9. 替代学习物联网-云服务-04TLINK云MQTT

    1.注册TLINK www.tlink.io 记录下登录的用户名,密码.MQTT需要 2.添加设备  3.设备序列号:clientID 4.mqtt.fx调试器  5.订阅主题 在MQTT.fx上,单 ...

  10. grub boot kali

    the partition of labled '/' is /dev/sdb8 (eg:(hdb1,gpt8)) linux (hdb1,gpt8)/vmliuz root=/dev/sdb8 in ...