PHP IteratorAggregate 接口

phpserver side programmingprogramming更新于 2025/8/19 4:52:17

简介

IteratorAggregate 接口扩展了抽象的 Traversable 接口。该接口由一个类实现,用于创建外部迭代器。该接口引入了一个名为 getIterator 的抽象方法。

语法

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

Methods

IteratorAggregate::getIterator — Retrieve an external iterator

此函数无参数,返回一个实现了 Iterator 或 Traversable 接口的对象实例。

IteratorAggregate 示例

在以下 PHP 脚本中,一个实现了 IteratorAggregate 接口的类包含一个数组属性。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 . "
"; } ?>

输出

遍历数组属性显示以下结果

0=>10
1=>20
2=>30
3=>40

相关文章