本文主要介紹了PHP聚合式迭代器介面IteratorAggregate用法,結合實例形式分析了聚合式迭代器介面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 - IteratorAggregate介面詳解#######以上是關於PHP聚合式迭代器介面IteratorAggregate用法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!