下面我们来了解如何实现一个自定义的迭代器,然后再开始慢慢理解迭代器的内部工作原
理。先来看一个官方的例子
代码如下
:
class
myIterator
implements
Iterator {
private
$position
= 0;
private
$array
=
array
(
"first_element",
"second_element",
"last_element",
);
public
function
__construct() {
$this
->position = 0;
}
function
rewind
() {
var_dump(
__METHOD__
);
$this
->position = 0;
}
function
current() {
var_dump(
__METHOD__
);
return
$this
->
array
[
$this
->position];
}
function
key() {
var_dump(
__METHOD__
);
return
$this
->position;
}
function
next() {
var_dump(
__METHOD__
);
++
$this
->position;
}
function
valid() {
var_dump(
__METHOD__
);
return
isset(
$this
->
array
[
$this
->position]);
}
}
$it
=
new
myIterator;