Интерфейс IteratorAggregate

(PHP 5, PHP 7, PHP 8)

Введение

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

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

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

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

<?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) "последнее свойство"

Содержание