RegexIterator::setMode

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::setMode操作モードを設定する

説明

publicRegexIterator::setMode(int$mode): void

操作モードを設定します。

パラメータ

mode

操作モード。

操作モードは次のとおりです。これらのモードの実際の意味については 定義済みの定数 で説明します。

RegexIterator のモード
定数
0RegexIterator::MATCH
1RegexIterator::GET_MATCH
2RegexIterator::ALL_MATCHES
3RegexIterator::SPLIT
4RegexIterator::REPLACE

戻り値

値を返しません。

例1 RegexIterator::setMode() の例

<?php
$test
= array ('str1' => 'test 1', 'test str2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
// 'test ' で始まってその後に 1 桁以上の数字が続くものだけを取り出します
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// 操作モードは、実際の値をマッチした部分で置き換えます
$regexIterator->setMode(RegexIterator::GET_MATCH);

foreach (
$regexIterator as $key => $value) {
// print out the matched number(s)
echo $key . ' => ' . $value[1] . PHP_EOL;
}
?>

上の例の出力は、 たとえば以下のようになります。

str1 => 1 str3 => 123

参考

To Top