(PHP 5, PHP 7, PHP 8)
Интерфейс для создания внешнего итератора.
Пример #1 Базовый пример реализации интерфейса
<?php
class myData implements IteratorAggregate
{
public $property1 = "Первое общедоступное свойство";
public $property2 = "Второе общедоступное свойство";
public $property3 = "Третье общедоступное свойство";
public $property4 = "";
public function __construct()
{
$this->property4 = "последнее свойство";
}
public function getIterator(): Traversable
{
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) "последнее свойство"