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

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

作成日: 更新日:

基本的な使い方

SPLIT定数は、RegexIteratorクラスの動作モードの一つである「分割モード」を表す定数です。この定数をRegexIteratorのコンストラクタに指定することで、イテレータが処理する各要素に対して、正規表現による文字列の分割を実行させることができます。具体的には、コンストラクタで指定された正規表現に一致する部分を区切り文字とみなし、元の文字列を分割した結果の各部分文字列を順に返します。この動作は、PHPの標準関数であるpreg_split()の挙動と似ています。通常のモードでは正規表現に一致した要素そのものを返しますが、SPLITモードを使用すると、一致した部分で区切られた断片を取得できる点が大きな違いです。例えば、カンマやスペースなど、複数の区切り文字で区切られたログファイルを行ごとに読み込み、各行をさらにフィールドへ分割するような場合に特に役立ちます。この定数を利用することで、配列やファイルの内容といった連続したデータソースに対して、一貫した分割処理を効率的に適用することが可能になります。

構文(syntax)

1<?php
2
3$data = new ArrayIterator(['item-001', 'item-002', 'item-003']);
4
5// RegexIterator::SPLIT をモードとして指定すると、
6// 正規表現にマッチした部分で各要素の文字列を分割します。
7$iterator = new RegexIterator($data, '/-/', RegexIterator::SPLIT);
8
9foreach ($iterator as $parts) {
10    // $parts は分割された結果の配列です。
11    // 例: ['item', '001']
12    print_r($parts);
13}
14
15?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

RegexIterator::SPLIT は、文字列を正規表現パターンで分割する際のモードを示す整数値を返します。