ホームページ  >  記事  >  バックエンド開発  >  PHP 集約反復子インターフェース IteratorAggregate の使用状況分析

PHP 集約反復子インターフェース IteratorAggregate の使用状況分析

jacklove
jackloveオリジナル
2018-07-04 17:47:312614ブラウズ

この記事では、主に PHP の集合イテレータ インターフェイス IteratorAggregate の使い方を紹介し、集合イテレータ インターフェイス IteratorAggregate の概念、機能、定義、使用法をサンプル形式で分析します。 # #この記事の例では、PHP 集約イテレーター インターフェイス IteratorAggregate の使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

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

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

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

#説明例:

<?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 中国語 Web サイトを参照してください。

興味があるかもしれない記事:

PHP 検出インターフェイス Traversable の使用法の詳細な説明

PHP カスタム シリアル化インターフェイス シリアル化可能な使用法の分析と説明

#PHP の Opcache アクセラレーションの使用方法の詳細な説明


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

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