array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'regexiterator.setmode.php', 1 => 'RegexIterator::setMode', 2 => 'Sets the operation mode', ), 'up' => array ( 0 => 'class.regexiterator.php', 1 => 'RegexIterator', ), 'prev' => array ( 0 => 'regexiterator.setflags.php', 1 => 'RegexIterator::setFlags', ), 'next' => array ( 0 => 'regexiterator.setpregflags.php', 1 => 'RegexIterator::setPregFlags', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/spl/regexiterator/setmode.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
RegexIterator::setMode — Sets the operation mode
modeThe operation mode.
The available modes are listed below. The actual meanings of these modes are described in the predefined constants.
| value | constant |
|---|---|
| 0 | RegexIterator::MATCH |
| 1 | RegexIterator::GET_MATCH |
| 2 | RegexIterator::ALL_MATCHES |
| 3 | RegexIterator::SPLIT |
| 4 | RegexIterator::REPLACE |
没有返回值。
示例 #1 RegexIterator::setMode() example
<?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;
}
?>以上示例的输出类似于:
str1 => 1 str3 => 123