php-Iterator ist ein PHP-Entwurfsmuster, das sich auf eine Schnittstelle bezieht, die ihren eigenen externen Iterator oder ihre eigene Klasse intern durchlaufen kann; das Iteratormuster kann die internen Elemente eines Aggregatobjekts durchlaufen, ohne die interne Implementierung zu kennen.
Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer
php-Iterator Was bedeutet das?
PHP-Iteratormodus
Iterator: Die Klasse erbt die Iterator-Schnittstelle von PHP und führt Stapeloperationen aus.
1. Das Iteratormuster durchläuft die internen Elemente eines Aggregatobjekts, ohne die interne Implementierung zu kennen.
2. Im Vergleich zu herkömmlichen Programmiermustern kann das Iteratormuster die zum Durchlaufen von Elementen erforderlichen Operationen verbergen.
Interface Iterator
current() Gibt das aktuelle Element zurück
key() Gibt den Schlüssel des aktuellen Elements zurück
next() Geht vorwärts zum nächsten Element
rewind() Gibt zum ersten Element des Iterators zurück
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(); }
Iterator-Schnittstelle: https://www.php.net/manual/zh/class.iterator.php
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonPHP-Iterator, was bedeutet das?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!