zoukankan      html  css  js  c++  java
  • PHP 迭代器模式

    迭代器:类继承PHP的Iterator接口,批量操作。
    1. 迭代器模式,在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。
    2. 相比传统的编程模式,迭代器模式可以隐藏遍历元素的所需操作。
    接口Iterator
    current() 返回当前元素
    key() 返回当前元素的键
    next() 向前移动到下一个元素
    rewind() 返回到迭代器的第一个元素

    class AllUser implements Iterator
    {
        protected $index = 0;
        protected $data = [];
    
        public function __construct()
        {
            $link = mysqli_connect('192.168.0.91', 'root', '123', 'xxx');
            $rec = mysqli_query($link, 'select id from doc_admin');
            $this->data = mysqli_fetch_all($rec, MYSQLI_ASSOC);
        }
    
        //1 重置迭代器
        public function rewind()
        {
            $this->index = 0;
        }
    xxx
        //2 验证迭代器是否有数据
        public function valid()
        {
            return $this->index < count($this->data);
        }
    
        //3 获取当前内容
        public function current()
        {
            $id = $this->data[$this->index];
            return User::find($id);
        }
    
        //4 移动key到下一个
        public function next()
        {
            return $this->index++;
        }
    
    
        //5 迭代器位置key
        public function key()
        {
            return $this->index;
        }
    }
    
    //实现迭代遍历用户表
    $users = new AllUser();
    //可实时修改
    foreach ($users as $user){
        $user->add_time = time();
        $user->save();
    }
  • 相关阅读:
    frame、center和bounds
    UILabel
    UIColor
    Url_Filter(Code)
    listView介绍
    C# 常用正则
    C++指针的概念
    指针所具有的四个要素:
    windows_sendEmail
    工作笔记
  • 原文地址:https://www.cnblogs.com/onephp/p/6109061.html
Copyright © 2011-2022 走看看