<?php
$arr = array('a','ab','cd',array('ef','ad',array('cd','ae')));
$arrayIterator = new RecursiveArrayIterator($arr);
$it = new RecursiveRegexIterator($arrayIterator,'/^a\w*/',RecursiveRegexIterator::MATCH);
$recursiveIterator = new RecursiveIteratorIterator($it,RecursiveIteratorIterator::LEAVES_ONLY);
print_r(iterator_to_array($recursiveIterator,false));
?>
我希望得到所有以字母开头的字符串&#39; a&#39;, 但它无法匹配2D,3D中的字符串......
答案 0 :(得分:1)
您的代码似乎受到PHP 5.5.19中解决的SPL错误(https://bugs.php.net/bug.php?id=68128)的影响。
请查看以下示例:https://3v4l.org/6H2oI
您最好的选择是将您的PHP版本升级到最新的PHP 5.5版本(请注意,此版本不再受支持,建议升级到php 5.6)