The Fibonacci sequence is usually done recursively, and of course there are other methods. This is now learning to sell, using a PHP iterator to implement a Fibonacci sequence, with little difficulty, just rewrite the next () method in the class. Comments have been written into the code and are quite well understood.
<?php/** @author [Email protected]*/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 () {//Key here//Save the current value to $newprevious $newprevious = $this->current;//assigns the previous value and the current value to the current value $this->current + = $this->previous;//Previous current value is assigned to the previous value $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 + = = = =) break;} ?>
Program Run Result:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610