PHP递归与迭代
在 PHP 中,我们经常会遇到这样的情况:在面临一个庞大的问题时,需要把这个庞大的问题拆分成各个细小的单元,解决了每个细小单元的问题,这个庞大的问题便迎刃而解了。递归与迭代就是这种思想的体现。
例如,斐波那契数列:1,1,2,3,5,8……
斐波那契数列的特点是第 0 位(在计算机中习惯以 0 开始计数)和第 1 位的数字都是 1,从第 2 位开始,当前数字的值是前两位数值之和,可以用如下的公式表示:
用 PHP 实现递归求斐波那契数列的代码如下:
PHP 递归
递归就是程序调用自身、函数不断引用自身,直到引用的对象已知。构成递归需满足以下两个条件:- 子问题需与原始问题为同样的事,且更为简单。
- 不能无限制地调用本身,必须有一个出口,化简为非递归状况处理。
例如,斐波那契数列:1,1,2,3,5,8……
斐波那契数列的特点是第 0 位(在计算机中习惯以 0 开始计数)和第 1 位的数字都是 1,从第 2 位开始,当前数字的值是前两位数值之和,可以用如下的公式表示:
f(0)=1
f(1)=1
f(n)=f(n-1)+f(n-2){n>1}
用 PHP 实现递归求斐波那契数列的代码如下:
<?php function readd($n){ if($n>2){ $arr[$n] = readd($n-2) + readd($n-1); // 递归调用自身 return $arr[$n]; } else { return 1; } } echo readd(30); ?>readd() 函数封装了求斐波那契数列的方法,向函数中传递不同的数字将会求出对应位置的数列的值。
PHP 迭代
迭代就是利用变量的原值推算出变量的一个新值。下面用一个简单的例子说明迭代:<?php function diedai($n){ for ($i=0,$j=0; $i < $n; $i++) { $j = $j + $i; } return $j; } echo diedai(4); ?>
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频