php设计模式(九) 迭代器模式

发布时间:2023-04-16 14:00

迭代器模式

  1. 不了解内部实现前提下,遍历一个对象
// 继承内置的迭代器接口,实现五个方法
class Alluser implements \Iterator{
    
    private $ids; // 存入所有需要迭代的数据
    
    private $index; // 记录当前迭代器位置
    public function __construct(){
        $rlt = "select id from user";
        $this->ids = $rlt-。fetch(); 
    }
    
    
    public function current() {
        return $this->ids[$this->index];
    }
    
    // 下一个元素
    public function next(){
        $this->index++;
    }
    
    
    // 验证元素是否存在
    public function valid(){
        return !empty($this->ids[$this->index]);
    }
    
    // 初始化迭代器到头部
    public function rewind(){
        $this->index = 0;
    }
    
    // 获取当前索引
    public function key(){
        return $this->index;
    }
}

$users = new AllUser();

foreach($users as $user){
    var_dump($user);
}

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号