<?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;
}
?>