<?phpclass 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, ‘<br>‘; ????if ($i++ === 15) break; }
原理:http://www.nowamagic.net/librarys/veda/detail/2161
php迭代器
原文地址:http://www.cnblogs.com/mljun/p/7527729.html