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

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

作成日: 更新日:

基本的な使い方

nextメソッドは、正規表現にマッチする次の要素へイテレータを移動させる処理を実行するメソッドです。このメソッドは、Iteratorインターフェースを実装するRegexIteratorクラスに属しています。RegexIteratorは、配列や他のイテレータオブジェクトをラップし、その要素を正規表現パターンに基づいてフィルタリングするために使用されます。nextメソッドを呼び出すと、RegexIteratorは内部的に保持している元のイテレータのポインタを一つ進めます。その後、進んだ先の要素が指定された正規表現にマッチするかを判定します。もしマッチしない場合は、マッチする要素が見つかるか、あるいは元のイテレータの終端に達するまで、自動的にポインタを進め続けます。正規表現にマッチする要素が見つかった時点で処理は停止し、イテレータは有効な次の要素を指し示す状態となります。この一連の動作により、開発者は正規表現に合致する要素だけを順番に効率良く取り出すことができます。

構文(syntax)

1<?php
2$fruits = new ArrayObject(['apple', 'banana', 'apricot', 'cherry']);
3$iterator = $fruits->getIterator();
4$regexIterator = new RegexIterator($iterator, '/^a/');
5
6// イテレータの最初の要素に移動します
7$regexIterator->rewind();
8
9// イテレータが有効な間、ループします
10while ($regexIterator->valid()) {
11    // 現在の要素を取得します
12    echo $regexIterator->current() . PHP_EOL;
13
14    // イテレータを次の要素に進めます
15    $regexIterator->next();
16}

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません