PHP Conference Fukuoka 2025

A classe ParentIterator

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

Introdução

Este FilterIterator estendido permite uma iteração recursiva usando RecursiveIteratorIterator que mostra apenas os elementos que têm filhos.

Índice

adicionar nota

Notas de Usuários 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