IteratorAggregate インターフェイス

はじめに

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

インターフェイス概要

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

例1 基本的な使用法

<?php

class myData implements IteratorAggregate
{
    public function getIterator(): Traversable
    {
        return new ArrayIterator([
            "key one" => "item one",
            "key two" => "item two",
            "key three" => "item three"
        ]);
    }
}

$obj = new myData();

foreach ($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}

上の例の出力は、 たとえば以下のようになります。

string(7) "key one"
string(8) "item one"

string(7) "key two"
string(8) "item two"

string(9) "key three"
string(10) "item three"

目次