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

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

原文:http://www.jb51.net/article/43075.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值