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 Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
PHP正确配置mysql(apache环境)
Aug 28 PHP
PHP 自定义错误处理函数的使用详解
May 10 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
Nov 12 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
Apr 08 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
laravel执行php artisan migrate报错的解决方法
Oct 09 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 23 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 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 session 错误
2009/05/21 PHP
php中{}大括号是什么意思
2013/12/01 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
Jquery获取radio选中值实例总结
2019/01/17 jQuery
微信小程序实现下拉框功能
2019/07/16 Javascript
python登陆asp网站页面的实现代码
2015/01/14 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python远程方法调用实现过程解析
2020/07/28 Python
python绘制趋势图的示例
2020/09/17 Python
Python list和str互转的实现示例
2020/11/16 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
厂长岗位职责
2014/02/19 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
世界名著读书笔记
2015/06/25 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技