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

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

作成日: 更新日:

基本的な使い方

『nextメソッドは、イテレータを正規表現にマッチする次の有効な要素へ移動させるために実行するメソッドです。このメソッドは、PHPの標準インターフェースであるIteratorで定義されているもので、RecursiveRegexIteratorクラスがその規約に従って実装しています。通常、foreachループなどでイテレータを反復処理する際に、PHPのエンジンによって内部的に呼び出されるため、プログラマが直接このメソッドをコード上で呼び出すことは稀です。RecursiveRegexIteratornextメソッドが実行されると、内部で保持しているイテレータのポインタを一つ進めます。しかし、単に次の要素へ移動するだけでなく、その移動先の要素がコンストラクタで指定された正規表現にマッチするかどうかを検証します。もしマッチしない場合は、マッチする要素が見つかるか、あるいはイテレータの終端に達するまで、自動的に次の要素への移動を繰り返します。この動作により、開発者は反復処理の中で条件に合致する要素だけを効率的に取り扱うことができます。

構文(syntax)

1<?php
2
3$array = new RecursiveArrayIterator(['test1', 'skip', ['sub_test1', 'sub_test2'], 'test3']);
4$iterator = new RecursiveRegexIterator($array, '/^(test|sub_test)/');
5
6// イテレータを最初のマッチする要素に設定
7$iterator->rewind();
8
9// 最初の要素 "test1" を出力
10echo $iterator->current() . PHP_EOL;
11
12// イテレータを次のマッチする要素に進める
13$iterator->next();
14
15// 次の要素 "sub_test1" を出力
16echo $iterator->current() . PHP_EOL;
17
18?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません