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

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

作成日: 更新日:

基本的な使い方

nextメソッドは、AppendIteratorが管理する内部ポインタを次の要素へ移動させる処理を実行するメソッドです。このメソッドは、PHPの標準的なIteratorインターフェースで定められているメソッドの一つで、主にforeachループなどで反復処理を行う際に内部的に呼び出されます。AppendIteratorクラスは、複数のイテレータを一つに連結し、単一のイテレータとして振る舞わせる機能を提供します。nextメソッドの役割は、この連結処理の要となります。具体的には、まず現在処理対象となっている内部イテレータのポインタを次に進めます。もし、その内部イテレータの最後の要素を処理し終えて無効になった場合、AppendIteratorは自動的に次の内部イテレータへと切り替えます。そして、新しく切り替わったイテレータの先頭にポインタをセットし、処理を継続します。この仕組みにより、開発者は複数のデータソースを意識することなく、一つの連続したデータのかたまりとしてシームレスに扱うことができます。このメソッドは値を返しません。

構文(syntax)

1<?php
2
3$iterator1 = new ArrayIterator(['a', 'b', 'c']);
4$iterator2 = new ArrayIterator(['d', 'e']);
5
6$appendIterator = new AppendIterator();
7$appendIterator->append($iterator1);
8$appendIterator->append($iterator2);
9
10// イテレータを先頭に巻き戻す
11$appendIterator->rewind();
12
13// 有効な要素がある限りループを続ける
14while ($appendIterator->valid()) {
15    // 現在の要素を出力
16    echo $appendIterator->current() . "\n";
17
18    // イテレータを次の要素に進める
19    $appendIterator->next();
20}

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません