Interator接口的作用是允许对象以自己的方式迭代内部的数据,从而使它可以被循环访问
class test implements Iterator {
《定义要进行迭代的数组》private $item = array (1, 2, 3, 4, 5 );
返回当前元素
public function current() {
return current ( $this->item );
}
《返回当前元素的键》
public function key() {
return key ( $this->item );
}
《向前移动到下一个元素》
public function next() {
return next ( $this->item );
}
《返回到迭代器的第一个元素》
public function rewind() {
reset ( $this->item );
}
《检查当前位置是否有效》
public function valid() {
return ($this->current () !== false);
}
}
当执行valid返回false时,循环就此结束。
$iterator = new test ();
foreach ( $iterator as $key => $value ) {
echo "输出索引为{$key}的元素" . ":$value" . '<br><br>';
}
end() - 将数组的内部指针指向最后一个单元
key() - 从关联数组中取得键名
each() - 返回数组中当前的键/值对并将数组指针向前移动一步
prev() - 将数组的内部指针倒回一位
reset() - 将数组的内部指针指向第一个单元
next() - 将数组中的内部指针向前移动一位