説明する
1. 他のイテレータ関数のインターフェースを実装することは、他のイテレータにシェルをインストールすることと同じです。方法は 1 つだけです。
2. 集約反復子を多くの反復子と組み合わせて、より効率的な反復を実現できます。
例
MainIterator クラスは Iterator を実装します { プライベート $var = 配列(); public function __construct($array) //コンストラクター関数、オブジェクト配列を初期化します { if (is_array($array)) { $this->var = $array; } } パブリック関数 rewind() { エコー「巻き戻し中n」; reset($this->var); //配列の内部ポインタを最初の要素にポイントします } パブリック関数 current() { $var = current($this->var); // 配列の現在の値を返します。 echo "current: $varn"; $var を返します。 } パブリック関数キー() { $var = key($this->var); //配列内の内部ポインタが指す現在のユニットのキー名を返します。 echo "key: $varn"; $var を返します。 } パブリック関数 next() { $var = next($this->var); // 配列の内部ポインタが指す次のユニットの値を返します。 echo "next: $varn"; $var を返します。 } パブリック関数 valid() { return !is_null(key($this->var); //現在のユニットのキーが空かどうかを判断します } }
上記は PHP 集約イテレーターの概要です。皆様のお役に立てれば幸いです。