この記事では、主に 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 '<br>';// Linux:echo "\n"; } ?>
#上記の出力例:
#
string 'one' (length=3) string 'Public property one' (length=19) string 'two' (length=3) string 'Public property two' (length=19) string 'three' (length=5) string 'Public property three' (length=21) string 'last' (length=4) string 'last property' (length=13)ArrayIterator イテレータは、オブジェクトまたは配列を foreach を通じて操作できるクラスにカプセル化します。詳細については、SPL イテレータの概要を参照してください。興味のある方は、PHP 中国語 Web サイトを参照してください。 興味があるかもしれない記事:
PHP 検出インターフェイス Traversable の使用法の詳細な説明
PHP カスタム シリアル化インターフェイス シリアル化可能な使用法の分析と説明
#PHP の Opcache アクセラレーションの使用方法の詳細な説明
以上がPHP 集約反復子インターフェース IteratorAggregate の使用状況分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。