查询

RegexIterator::__construct()函数—用法及示例

「 创建一个新的 RegexIterator 对象 」


函数:RegexIterator::__construct()

适用版本:PHP 5, PHP 7

用法:RegexIterator::__construct() 函数用于创建一个新的 RegexIterator 对象。

语法:public RegexIterator::__construct(Iterator $iterator, string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]])

参数:

  • $iterator:要进行正则匹配的迭代器对象。
  • $regex:正则表达式,用于匹配迭代器中的元素。
  • $mode(可选):匹配模式。可选值如下:
    • RegexIterator::MATCH:返回匹配正则表达式的元素。
    • RegexIterator::GET_MATCH:返回完整的匹配结果。
    • RegexIterator::ALL_MATCHES:返回所有匹配结果。
    • RegexIterator::SPLIT:使用正则表达式将元素拆分为多个元素。
    • RegexIterator::REPLACE:使用正则表达式替换元素。
  • $flags(可选):用于修改匹配行为的标志。可选值如下:
    • RegexIterator::USE_KEY:将键值与正则表达式一起匹配。
    • RegexIterator::INVERT_MATCH:返回不匹配正则表达式的元素。
  • $preg_flags(可选):用于修改正则表达式匹配行为的标志。具体可用的标志请参考 PHP 的 preg_match() 函数的文档。

返回值:无返回值。

示例:

$array = ['apple', 'banana', 'cherry', 'date'];

$iterator = new ArrayIterator($array);
$regexIterator = new RegexIterator($iterator, '/^a/');

foreach ($regexIterator as $key => $value) {
    echo $key . ' => ' . $value . "\n";
}

输出:

0 => apple

在上面的示例中,我们创建了一个 ArrayIterator 对象,然后使用 RegexIterator 对象对其进行正则匹配。正则表达式 /^a/ 匹配以字母 "a" 开头的元素。在 foreach 循环中,我们可以看到只有 "apple" 满足这个条件,所以只有键值对 0 => apple 被打印出来。

补充纠错
热门PHP函数
分享链接