Я прочитал пример IteratorAggregate в PHP manual. Я пытаюсь удалить интерфейс IteratorAggregate, но выходы схожи с реализованным.Когда нам нужна SPL IteratorAggregate?
<?php
class myData {
public $property1 = "Public property one";
public $property2 = "Public property two";
public $property3 = "Public property three";
public function __construct() {
$this->property4 = "last property";
}
}
$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"
Я хочу знать, что, когда мы должны реализовать IteratorAggregate интерфейс? И почему выводы совпадают?