php8.5
Home/ Manual/ spl / regexiterator/ RegexIterator::setMode

RegexIterator::setMode

PHP function Edit on GitHub ✎

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

Sets the operation mode

Description

RegexIterator::setMode(int $mode): void

Sets the operation mode.

Parameters

mode

The operation mode.

The available modes are listed below. The actual meanings of these modes are described in the predefined constants.

valueconstant
0RegexIterator::MATCH
1RegexIterator::GET_MATCH
2RegexIterator::ALL_MATCHES
3RegexIterator::SPLIT
4RegexIterator::REPLACE

Return Values

Void

Examples

RegexIterator::setMode example

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

$arrayIterator = new ArrayIterator($test);
// Filter everything that starts with 'test ' followed by one or more numbers.
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// Operation mode: Replace actual value with the matches
$regexIterator->setMode(RegexIterator::GET_MATCH);

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

The above example will output something similar to:

output
str1 => 1
str3 => 123

See Also

  • RegexIterator::getMode

Source: reference/spl/regexiterator/setmode.xml · from the official PHP manual (php/doc-en)