【PHP8.x】rewindメソッドの使い方

rewindメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

rewindメソッドは、CachingIteratorが内部で保持しているイテレータを先頭の位置に巻き戻す処理を実行するメソッドです。PHPにおけるイテレータは、配列などの集合データから要素を一つずつ順番に取り出すための仕組みであり、rewindメソッドはその現在位置を一番最初の要素に戻す役割を担います。通常、foreach構文でイテレータをループ処理する際には、ループの開始時にこのメソッドが自動的に呼び出されます。CachingIteratorにおけるrewindメソッドの重要な動作として、内部イテレータを巻き戻すと同時に、それまで保持していたキャッシュもすべて破棄される点が挙げられます。これにより、イテレータは完全に初期状態に戻り、再度ループを開始した際には、改めて元のデータソースから要素を取得し、キャッシュを再構築します。このメソッドは、同じイテレータオブジェクトを使い、繰り返し最初からデータを走査したい場合に明示的に呼び出すことも可能です。なお、このメソッドに引数はなく、戻り値もありません。

構文(syntax)

1<?php
2// CachingIterator::rewind(): void
3
4$data = new ArrayIterator(['Apple', 'Banana', 'Cherry']);
5$iterator = new CachingIterator($data);
6
7// ループ処理などでイテレータを最後まで進める
8while ($iterator->valid()) {
9    $iterator->next();
10}
11
12// rewind() を呼び出し、イテレータを先頭に戻す
13$iterator->rewind();
14
15// イテレータが先頭に戻っていることを確認する
16echo $iterator->current(); // "Apple"
17?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません