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 相关文章推荐
PHP概述.
Oct 09 PHP
谈谈PHP语法(2)
Oct 09 PHP
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
基于php权限分配的实现代码
Apr 28 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 PHP
php好代码风格的阶段性总结
Jun 25 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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
PHP 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
详解php反序列化
2020/06/10 PHP
火狐4、谷歌12不支持Jquery Validator的解决方法分享
2011/06/20 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
一张图带我们入门Python基础教程
2017/02/05 Python
Python reduce()函数的用法小结
2017/11/15 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
pygame实现成语填空游戏
2019/10/29 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
函授大学生自我鉴定
2014/02/05 职场文书
活动总结模板
2014/05/09 职场文书
公司担保书格式范文
2014/05/12 职场文书
成本会计岗位职责
2015/02/03 职场文书
小学教师求职信范文
2015/03/20 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书