迭代器模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器模式相关的知识,希望对你有一定的参考价值。
迭代器模式
提供单一标准接口循环或迭代任何类型的可计数数据.
示例: class User { private $name,$regTime,$money; public function __construct($name, $regTime) { $this->name = $name; $this->regTime = $regTime; } public function setMoney($money) { $this->money = $money; } public function __toString() { return "{$this->name} : {$this->regTime} : {$this->money}"; } } class UserIterator implements Iterator { private $users = array(); private $valid = false; public function __construct() { try{ $sql = "SELECT * FROM yx_users"; $pdo = new PDO(‘mysql:host=localhost;dbname=db_zuiyouxin‘, ‘root‘, ‘root‘); $res = $pdo->query($sql); foreach ($res as $row) { $user = new User($row[‘name‘], $row[‘created_at‘]); $user->setMoney($row[‘money‘]); $this->users[$row[‘id‘]] = $user; } $pdo = null; } catch (Exception $e) { die(‘Error:‘ . $e->getMessage()); } } public function current() { return current($this->users); } public function next() { $this->valid = (next($this->users) === false) ? false : true; } public function key() { return key($this->users); } public function valid() { return $this->valid; } public function rewind() { $this->valid = (reset($this->users) === false) ? false : true; } } $users = new UserIterator(); foreach ($users as $key => $val) { echo $key; echo $val; echo "<br>"; }
以上是关于迭代器模式的主要内容,如果未能解决你的问题,请参考以下文章