PHP迭代器实现斐波纳契数列的函数_PHP教程

原创
2016-07-13 10:25:18 651浏览

复制代码 代码如下:

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/825140.htmlTechArticle复制代码 代码如下: class Fibonacci implements Iterator { private $previous = 1; private $current = 0; private $key = 0; public function current() { return $this-current; }...

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:PHP set_error_handler()函数使用详解(示例)_PHP教程 下一条:PHP URL路由类实例_PHP教程

相关文章

查看更多