美文网首页
迭代器 Iterator

迭代器 Iterator

作者: 码课sir | 来源:发表于2018-07-31 17:27 被阅读0次

思考:一个班有50个学生,如何实现遍历班级就是遍历学生?
答:使用内置的迭代器
Iterator是PHP内置的接口,提供了5个抽象方法,在子类中实现这5个抽象方法就实现了迭代的效果
遍历:操作自己,比如遍历数组,遍历对象
迭代:操作自己的属性,比如迭代对象中属性数组


<?php
//迭代器
class Myclass implements Iterator {
    private $list=array('tom','berry','ketty');
    //指针复位
    public function rewind() {
        reset($this->list);     //复位list指针,指针指向第一个单元
    }
    //验证当前指针是否合法
    public function valid() {
        return key($this->list)!==null;
    }
    //获取当前指针的键
    public function key() {
        return key($this->list);
    }
    //获取当前值
    public function current() {
        return current($this->list);
    }
    //指针下移
    public function next() {
        next($this->list);
    }
}
$class=new MyClass();
//遍历对象就是遍历对象中的数组
foreach($class as $v) {
    echo $v,'<br>';
}

相关文章

网友评论

      本文标题:迭代器 Iterator

      本文链接:https://www.haomeiwen.com/subject/baihvftx.html