共计 532 个字符,预计需要花费 2 分钟才能阅读完成。
迭代器模式
- 不理解外部实现前提下,遍历一个对象
// 继承内置的迭代器接口,实现五个办法
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);
}
正文完