Интерфейс IteratorAggregate

(PHP 5 >= 5.0.0, PHP 7)

Введение

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

Обзор интерфейсов

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

Пример #1 Основы использования

<?php
class myData implements IteratorAggregate {
    public 
$property1 "Public property one";
    public 
$property2 "Public property two";
    public 
$property3 "Public property three";

    public function 
__construct() {
        
$this->property4 "last property";
    }

    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(19) "Public property one"

string(9) "property2"
string(19) "Public property two"

string(9) "property3"
string(21) "Public property three"

string(9) "property4"
string(13) "last property"

Содержание