ホームページ >バックエンド開発 >PHPチュートリアル >PHP 集約イテレータ インターフェイスの使用に関する共有 IteratorAggregate

PHP 集約イテレータ インターフェイスの使用に関する共有 IteratorAggregate

小云云
小云云オリジナル
2017-12-29 16:45:331693ブラウズ

この記事では主に PHP の集合反復子インターフェース IteratorAggregate の使用法を紹介し、集合反復子インターフェース IteratorAggregate の概念、機能、定義、使用法を例の形式で分析します。みんな。

PHP IteratorAggregate は集約イテレーターとも呼ばれます。外部イテレーターを作成するためのインターフェースを提供します。インターフェースの概要は次のとおりです。


IteratorAggregate extends Traversable {
  abstract public Traversable getIterator ( void )
}

getIterator メソッドを実装するクラスのインスタンスを返す必要があります。イテレータインターフェイス。

例の説明:


<?php
/**
 * 利用聚合式迭代器,并返回一个实现了Iterator接口的类的实例
 *
 * @author 疯狂老司机
 */
class myData implements IteratorAggregate {
  public $one = "Public property one";
  public $two = "Public property two";
  public $three = "Public property three";
  public function __construct() {
    $this->last = "last property";
  }
  public function getIterator() {
    return new ArrayIterator($this);
  }
}
$obj = new myData;
foreach($obj as $key => $value) {
  var_dump($key, $value);
  echo &#39;<br>&#39;;// Linux:echo "\n";
}
?>

上記の例の出力:


string &#39;one&#39; (length=3)
string &#39;Public property one&#39; (length=19)
string &#39;two&#39; (length=3)
string &#39;Public property two&#39; (length=19)
string &#39;three&#39; (length=5)
string &#39;Public property three&#39; (length=21)
string &#39;last&#39; (length=4)
string &#39;last property&#39; (length=13)

ArrayIterator イテレータは、オブジェクトまたは配列を foreach を通じて操作できるクラスにカプセル化します。詳細については、「概要」を参照してください。 SPL イテレータの。

関連する推奨事項:

php—IteratorAggregate インターフェイス

RxJava 演算子 (8) Aggregate_PHP チュートリアル

PHP - IteratorAggregate インターフェイスの詳細な説明

以上がPHP 集約イテレータ インターフェイスの使用に関する共有 IteratorAggregateの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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