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