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

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

作成日: 更新日:

基本的な使い方

RegexIterator::REPLACE定数は、RegexIteratorクラスの動作モードを「置換モード」に設定するために使用される定数です。この定数をRegexIteratorのコンストラクタに渡すと、イテレータは正規表現にマッチした値を、指定された文字列で置換した結果を返すようになります。通常、RegexIteratorはマッチした要素そのものを返しますが、この定数を使用すると、current()メソッドが返す値は置換後の文字列となります。置換に使用する文字列は、事前にsetReplacement()メソッドで設定します。もしsetReplacement()メソッドで置換文字列を指定しなかった場合は、デフォルトで空の文字列に置換されます。この機能は、preg_replace()関数をイテレータに対して適用するようなものであり、配列などの繰り返し可能なデータソースに対して、正規表現を用いた一括置換を行い、その結果を効率的に取得したい場合に非常に便利です。

構文(syntax)

1<?php
2
3$array = new ArrayIterator(['product-1', 'item-2', 'data-3']);
4
5$regexIterator = new RegexIterator($array, '/\d/', RegexIterator::REPLACE);
6$regexIterator->setReplacement('X');
7
8foreach ($regexIterator as $key => $value) {
9    echo "{$key}: {$value}" . PHP_EOL;
10}
11
12?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません