<?php

//函数阶乘  函数调用自身,函数在执行的时候每次都会开辟一个空间,如

/**
* $a =3的话,首先判断 3>1 为真 $r=3*demo(3-1) 开辟一个空间调用自身。
* 这时候$a=2 在判断 2>1为真 $r=3*2*demo(2-1),在开辟一个控件调用自身
* 这时候$a=1 在判断 1>1 为假 直接返回$r=1
* 在吧所有的开辟空间返回的结果放到一起 3*2*1=6
*
*/ function demo($a) {
if ($a > 1) {
$r = $a * demo($a - 1);
} else {
$r = $a;
}
return $r;
}
echo demo(3); ?>

最新文章

  1. JDBC ODBC区别
  2. CSS基础及选择器
  3. HTML DOM对象之createElement()方法
  4. ARP局域网欺骗工具编写
  5. SAP ABAP 程序调用FORM
  6. 接口中的成员变量必须是static
  7. C#解leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal
  8. KB006: CSS 框模型( Box module )
  9. Java学习笔记--泛型
  10. 在 Windows 下远程桌面连接 Linux - VNC 篇
  11. ECMAScript 6 笔记(一)
  12. 02 浅析Spring的AOP(面向切面编程)
  13. 微信小程序上传后发布或者体验版测试无数据解决办法
  14. 【Android】Android 代码判断当前设备是否为模拟器
  15. ios入门篇 -hello Word(1)
  16. 【.Net】结合项目谈谈多线程
  17. codeforces 1042c// Array Product// Codeforces Round #510(Div. 2)
  18. centos 7 配置nginx 的yum源
  19. sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别(转)
  20. SQL 查询:查询学生平均成绩

热门文章

  1. Linux内核链表复用实现栈
  2. weui.js汉字乱码
  3. Xcode中opengl的配置
  4. OCR(Optical Character Recognition)算法总结
  5. Jenkins集成TestNG
  6. java.lang.ClassNotFoundException: org.apache.http.impl.client.HttpClientBuilder
  7. Redis常用运维命令
  8. 【NPDP笔记】第一章 新产品开发战略
  9. 【sqlserver】【mysql】用NavicatPremium12把sqlserver的数据迁移到mysql上
  10. GetComponentsInChildren&lt;Transform&gt;(true)