Интерфейс IteratorIterator
&reftitle.intro;
Интерфейс для внешних итераторов или объектов, которые могут
повторять себя изнутри.
&reftitle.interfacesynopsis;
IteratorextendsTraversable&Methods;Предопределённые итераторы
PHP уже предоставляет некоторые итераторы для многих ежедневных задач.
Смотрите список итераторов SPL для более детальной информации.
&reftitle.examples;
Основы использования
Этот пример демонстрирует в каком порядке вызываются методы, когда
используется с итератором оператор &foreach;.
position = 0;
}
public function rewind(): void {
var_dump(__METHOD__);
$this->position = 0;
}
#[\ReturnTypeWillChange]
public function current() {
var_dump(__METHOD__);
return $this->array[$this->position];
}
#[\ReturnTypeWillChange]
public function key() {
var_dump(__METHOD__);
return $this->position;
}
public function next(): void {
var_dump(__METHOD__);
++$this->position;
}
public function valid(): bool {
var_dump(__METHOD__);
return isset($this->array[$this->position]);
}
}
$it = new myIterator;
foreach($it as $key => $value) {
var_dump($key, $value);
echo "\n";
}
?>
]]>
&example.outputs.similar;
&reftitle.seealso;
Смотрите также раздел Итераторы объектов.
&language.predefined.iterator.current;
&language.predefined.iterator.key;
&language.predefined.iterator.next;
&language.predefined.iterator.rewind;
&language.predefined.iterator.valid;