php イテレータは PHP デザイン パターンであり、独自の外部イテレータまたはクラスを内部で反復処理できるインターフェイスを指します。イテレータ パターンは、内部実装を知らなくても集約オブジェクトを走査できます。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php イテレータの意味?
PHP イテレータ モード
Iterator: PHP の Iterator インターフェイスを継承し、バッチで動作するクラスです。
1. イテレーター モードは、内部実装を認識せずに、集合オブジェクトの内部要素を走査します。
2. 従来のプログラミング パターンと比較して、反復子パターンは要素を走査するために必要な操作を隠すことができます。
InterfaceIterator
current() 現在の要素を返します
key() 現在の要素のキーを返します
next() 次の要素に進みますelement
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(); }
Iterator インターフェイス: https://www.php.net/manual/zh/class .iterator.php
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphpイテレータそれは何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。