IteratorAggregate 接口扩展了抽象的Traversable接口。它由一个类实现以创建外部迭代器。此接口介绍了名为getIterator的抽象方法。
IteratorAggregate extends Traversable { /* Methods */ abstract public getIterator ( void ) : Traversable }
IteratorAggregate::getIterator — Retrieve an external iterator
该函数没有参数,并返回实现Iterator或Traversable的对象的实例。
在下面的PHP脚本,一个类,它实现IteratorAggregate接口所有包含数组作为propertyThe getIterator()方法返回ArrayIterator对象出这个数组。我们可以使用foreach循环遍历数组。
<?php class myIterator implements IteratorAggregate { public $arr; public function __construct() { $this->arr = array(10,20,30,40); } public function getIterator() { return new ArrayIterator($this->arr); } } $obj = new myIterator(); foreach($obj as $key => $value) { echo $key ." =>" . $value . "\n"; } ?>
输出结果
遍历数组属性显示以下结果
0=>10 1=>20 2=>30 3=>40