PHP迭代器实现斐波纳契数列的函数


Posted in PHP onNovember 12, 2013
class Fibonacci implements Iterator { 
    private $previous = 1; 
    private $current = 0; 
    private $key = 0;     public function current() { 
        return $this->current; 
    } 
    public function key() { 
        return $this->key; 
    } 
    public function next() { 
  // 关键在这里
  // 将当前值保存到  $newprevious
        $newprevious = $this->current; 
  // 将上一个值与当前值的和赋给当前值
        $this->current += $this->previous; 
  // 前一个当前值赋给上一个值
        $this->previous = $newprevious; 
        $this->key++; 
    } 
    public function rewind() { 
        $this->previous = 1; 
        $this->current = 0; 
        $this->key = 0; 
    } 
    public function valid() { 
        return true; 
    } 
} 

$seq = new Fibonacci; 
$i = 0; 
foreach ($seq as $f) { 
    echo "$f "; 
    if ($i++ === 15) break; 
}

程序运行结果:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
PHP 相关文章推荐
漂亮但不安全的CTB
Oct 09 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
php实现用于删除整个目录的递归函数
Mar 16 PHP
PHP 常用时间函数资料整理
Oct 22 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
php变量与JS变量实现不通过跳转直接交互的方法
Aug 25 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
php适配器模式简单应用示例
Oct 23 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 PHP
浅谈PHP7中的一些小技巧
May 29 PHP
PHP SPL使用方法和他的威力
Nov 12 #PHP
PHP使用SOAP调用.net的WebService数据
Nov 12 #PHP
php获取远程图片体积大小的实例
Nov 12 #PHP
php过滤XSS攻击的函数
Nov 12 #PHP
php获取新浪微博数据API实例
Nov 12 #PHP
php生成N个不重复的随机数实例
Nov 12 #PHP
三种php连接access数据库方法
Nov 11 #PHP
You might like
使用无限生命期Session的方法
2006/10/09 PHP
杏林同学录(六)
2006/10/09 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
部队领导证婚词
2014/01/12 职场文书
秋游活动策划方案
2014/02/16 职场文书
大学生求职自荐信
2015/03/24 职场文书
教师考核鉴定意见
2015/06/05 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers
一级电子管军用接收机测评
2022/04/05 无线电