
説明する
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 集約イテレーターの概要です。皆様のお役に立てれば幸いです。