Содержание

Интерфейс IteratorAggregate

Интерфейс для создания внешнего итератора.

Обзор

IteratorAggregate extends Traversable {
   /* Методы */
   abstract public getIterator ( ) : Traversable
}

Пример

<?php
class myData implements IteratorAggregate {
    public $property1 = "Первое общедоступное свойство";
    public $property2 = "Второе общедоступное свойство";
    public $property3 = "Третье общедоступное свойство";
 
    public function __construct() {
        $this->property4 = "последнее свойство";
    }
 
    public function getIterator() {
        return new ArrayIterator($this);
    }
}
 
$obj = new myData;
 
foreach($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

string(9) "property1"
string(56) "Первое общедоступное свойство"
 
string(9) "property2"
string(56) "Второе общедоступное свойство"
 
string(9) "property3"
string(56) "Третье общедоступное свойство"
 
string(9) "property4"
string(35) "последнее свойство"