迭代器

迭代器

  • 迭代器设计模式可以帮助构建特定对象,那些对象能够提供单一标准接口循环或代任何类型的可计数数据。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    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>";
    }