IteratorAggregate インターフェイス

はじめに

外部イテレータを作成するためのインターフェイスです。

インターフェイス概要

IteratorAggregate extends Traversable
/* メソッド */
public Traversable IteratorAggregate::getIterator()

例1 基本的な例

<?php

class myData implements IteratorAggregate
{
    public $property1 = "Public property one";
    public $property2 = "Public property two";
    public $property3 = "Public property three";
    public $property4 = "";

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

    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(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"

目次