ホームページ  >  記事  >  バックエンド開発  >  PHP デザイン パターン シリーズ - Iterator_PHP チュートリアル

PHP デザイン パターン シリーズ - Iterator_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:52:111043ブラウズ

PHP イテレータ:
あらゆる種類の可算データをループまたは反復するための単一の標準インターフェイスを提供する特定のオブジェクトの構築に役立ちます。 (特に一般的には使用されません、PHP では)
使用シナリオ:
1. 内部表現を公開せずに集合オブジェクトの内容にアクセスします。
2. 集約オブジェクトの複数の走査をサポートします。
3. さまざまな集約構造 (つまり、多態性反復) を横断するための統一インターフェイスを提供します。

PHP コードの実装:
[php]
//Iterator: あらゆる種類の可算データをループまたは反復するための単一の標準インターフェイスを提供する特定のオブジェクトの構築に役立ちます
class MyIterator は Iterator {
を実装します
プライベート $var = array();
パブリック関数 __construct($array) {
$this->var = $array; }

パブリック関数 rewind() {
リセット($this->var); }

パブリック関数 current() {
$var = 現在($this->var); $var を返します。 }

パブリック関数 valid() {
$var = $this->current() !== false;
$var を返します。 }

パブリック関数 next() {
$var = next($this->var); $var を返します。 }

パブリック関数キー() {
$var = key($this->var); $var を返します。 }
}
$values = array('a', 'b', 'c'); $it = 新しい MyIterator($values); foreach ($it as $a => $b) {
"$a: $b
" を印刷します。 }
?>

作者: initphp



http://www.bkjia.com/PHPjc/478134.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/478134.html

技術記事
PHP イテレータ: あらゆる種類の可算データをループまたは反復するための単一の標準インターフェイスを提供する特定のオブジェクトの構築に役立ちます。 (特に一般的ではありません、PHP では) 使用します...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。