Iterator インターフェイス
Iterator
&reftitle.intro;
外部のイテレータあるいはオブジェクト自身から反復処理を行うためのインターフェイスです。
&reftitle.interfacesynopsis;
Iterator
extends
Traversable
&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;