The ParentIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

This extended FilterIterator allows a recursive iteration using RecursiveIteratorIterator that only shows those elements which have children.

İçindekiler

add a note

User Contributed Notes 2 notes

up
4
Anonymous
13 years ago
ParentIterator is just a RecursiveFilterIterator whos accept() method calls the RecursiveFilterIterator->hasChildren() method to filter itself.Basically, it filters out leaf nodes. For exampleThis would yield all files and directories<?php$rdi = new RecursiveDirectoryIterator(__DIR__);$iter = new RecursiveIteratorIterator($rdi, RecursiveIteratorIterator::CHILD_FIRST);?>wrapping that in a ParentIterator would filter it down to just directories<?php$rdi = new RecursiveDirectoryIterator(__DIR__);$iter = new RecursiveIteratorIterator($rdi, RecursiveIteratorIterator::CHILD_FIRST);$dirsOnly = new ParentIterator($iter);?>
up
1
dn dot permyakov at gmail dot com
6 years ago
Easy example for understanding:<?php$iterator = new ParentIterator(    new RecursiveArrayIterator(        array(array(1, 2, 3), 'A', 'B', 'C')    ));foreach ($iterator as $recursive) {    foreach ($recursive as $value) {        echo $value . PHP_EOL;    }}?>123
To Top