PHP IteratorAggregate接口

介绍

IteratorAggregate 接口扩展了抽象的Traversable接口。它由一个类实现以创建外部迭代器。此接口介绍了名为getIterator的抽象方法。

语法

IteratorAggregate extends Traversable {
   /* Methods */
   abstract public getIterator ( void ) : Traversable
}

方法

IteratorAggregate::getIterator — Retrieve an external iterator

该函数没有参数,并返回实现Iterator或Traversable的对象的实例。

IteratorAggregate示例

在下面的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