IteratorAggregate インターフェイス

(PHP 5, PHP 7, PHP 8)

はじめに

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

インターフェイス概要

interfaceIteratorAggregateextendsTraversable {
}

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

目次

To Top