Интерфейс IteratorAggregate

(PHP 5, PHP 7, PHP 8)

Введение

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

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

interface IteratorAggregate extends Traversable {
/* Методы */
}

Примеры

Пример #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) "последнее свойство"

Содержание