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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
php动态生成JavaScript代码
Mar 09 PHP
PHP开发过程中常用函数收藏
Dec 14 PHP
PHP 根据IP地址控制访问的代码
Apr 22 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
Jul 22 PHP
php生成excel文件的简单方法
Feb 08 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
CakePHP框架Model函数定义方法示例
Aug 04 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
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
javascript之函数直接量(function(){})()
2007/06/29 Javascript
jquery cookie插件代码类
2009/05/26 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
js实现继承的5种方式
2015/12/01 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
python实现发送邮件功能
2017/07/22 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python使用epoll实现服务端的方法
2018/10/16 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
人工神经网络算法知识点总结
2019/06/11 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
易程科技软件测试笔试
2013/03/24 面试题
服装设计专业求职信
2014/06/16 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
Promise静态四兄弟实现示例详解
2022/07/07 Javascript