迭代器

迭代器

  • 迭代器设计模式可以帮助构建特定对象,那些对象能够提供单一标准接口循环或代任何类型的可计数数据。
class MyIterator implements Iterator {

    private $var = array();

    public function __construct($array) {
        $this->var = $array;
    }

    public function rewind() {
        reset($this->var);
    }

    public function current() {
        $var = current($this->var);
        return $var;
    }

    public function valid() {
        $var = $this->current() !== false;
        return $var;
    }

    public function next() {
        $var = next($this->var);
        return $var;
    }

    public function key() {
        $var = key($this->var);
        return $var;
    }
}
$values = array('a', 'b', 'c');
$it = new MyIterator($values);
foreach ($it as $a => $b) {
    print "$a: $b<br>";
}