【PHP8.x】SPLIT定数の使い方

SPLIT定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『SPLIT定数は、RecursiveRegexIteratorクラスの動作モードを「分割(split)」に設定するために使用される定数です。この定数をRecursiveRegexIteratorのコンストラクタに渡してインスタンスを生成すると、イテレータは内部で繰り返し処理を行う各要素に対して、指定された正規表現を適用し、マッチした部分を区切り文字として文字列を分割します。この動作は、PHPの標準関数であるpreg_split()が単一の文字列に対して行う処理を、イテレータが扱うコレクションの各要素に自動的に適用するものと考えることができます。例えば、各行がカンマで区切られたデータを持つファイルを処理する際に、正規表現としてカンマを指定し、このSPLITモードを利用することで、各行を自動的にフィールドごとの配列に分割して取得できます。これは、正規表現に一致した部分を抽出するMATCHモードとは対照的な動作であり、SPLITモードはデータの前処理や解析の場面で非常に役立ちます。』

構文(syntax)

1<?php
2
3// 再帰的に処理できる配列イテレータを作成
4$arrayIterator = new RecursiveArrayIterator(['apple,orange,banana', 'grape melon']);
5
6// 文字列を正規表現で分割するイテレータを作成
7// コンストラクタの第3引数に RecursiveRegexIterator::SPLIT を指定します。
8$regexIterator = new RecursiveRegexIterator(
9    $arrayIterator,
10    '/,/', // カンマで分割する正規表現
11    RecursiveRegexIterator::SPLIT
12);
13
14// 分割された各要素をループで出力します。
15foreach ($regexIterator as $value) {
16    echo $value . PHP_EOL;
17}
18
19?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません