ParentIterator クラス

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

はじめに

これは FilterIterator を継承したクラスで、 RecursiveIteratorIterator を使った再帰的な反復処理をできるようにします。 ただし、子を持つ要素しか表示しません。

目次

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