The Fibonacci series is usually implemented using recursion, and there are other methods. It is now commercially available. it is almost no difficulty to use the PHP iterator to implement a Fibonacci series, just to rewrite the next () method in the class. Annotations have been written into the code, which is quite understandable.
The code is as follows:
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 (){
// The key is here
// Save the current value to $ newprevious
$ Newprevious = $ this-> current;
// Assign the sum of the previous value and current value to the current value
$ This-> current + = $ this-> previous;
// The 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 maid;
$ I = 0;
Foreach ($ seq as $ f ){
Echo "$ f ";
If ($ I ++ = 15) break;
}
Program running result:
The code is as follows:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377