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 解决session死锁的方法
Jun 20 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 PHP
php使用curl模拟登录后采集页面的例子
Nov 04 PHP
PHP反射机制用法实例
Aug 28 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
Mar 18 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 PHP
phpstudy隐藏index.php的方法
Sep 21 PHP
php实现自动生成验证码的实例讲解
Nov 17 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+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
Table冻结表头示例代码
2013/08/20 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
python进阶教程之异常处理
2014/08/30 Python
分分钟入门python语言
2018/03/20 Python
Django rest framework实现分页的示例
2018/05/24 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
深入了解NumPy 高级索引
2020/07/24 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
10个顶级Python实用库推荐
2021/03/04 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
全国文明单位申报材料
2014/05/31 职场文书
毕业典礼主持词
2015/06/29 职场文书
办公用品管理制度
2015/08/04 职场文书
七年级作文之英语老师
2019/10/28 职场文书
css3应用示例:新增的选择器
2022/03/16 HTML / CSS
python如何为list实现find方法
2022/05/30 Python