useless-stuff
2/19/2016 - 4:13 PM

PHP - RecursiveRegexIterator

PHP - RecursiveRegexIterator

<?php
// RecursiveRegexIterator
$data = array(
    array(
        'EC2-CHOPIN01',
        'EC2-CHOPIN02',
        'EC2-CHOPIN03',
    ),
    array(
        'EC2-CHOPIN04',
        'EC2-MOZART01',
        'EC2-MOZART02',
    ),
    array(
        'EC2-BACH01',
        'EC2-BACH02',
        'EC2-CHOPIN05',
    ),
);
$iterator = new RecursiveRegexIterator(new RecursiveArrayIterator($data), "/(CHOPIN)/", RegexIterator::ALL_MATCHES);
foreach ($iterator->getInnerIterator() as $value) {
    foreach ($iterator->getChildren() as $value) {
        echo $value.PHP_EOL;
    }
}
// Output:
/*
EC2-CHOPIN01
EC2-CHOPIN02
EC2-CHOPIN03
EC2-CHOPIN04
EC2-CHOPIN05
*/