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;
}
}
?>
1
2
3
PHP.mk документација
ParentIterator
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
class.parentiterator.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
class.parentiterator.php
ParentIterator
Референца за `class.parentiterator.php` со подобрена типографија и навигација.
Класата ParentIterator
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
Вовед
Ова проширено FilterIterator овозможува рекурзивна итерација користејќи RecursiveIteratorIterator што покажува само елементи што имаат деца.
Синопсис на класата
/* Методи */
/* Наследени методи */
}Содржина
- ParentIterator::accept — Определува прифатливост
- ParentIterator::__construct — Конструира ParentIterator
- ParentIterator::getChildren — Враќа деца на внатрешниот итератор содржани во ParentIterator
- ParentIterator::hasChildren — Проверете дали тековниот елемент на внатрешниот итератор има деца
- ParentIterator::next — Помести го итераторот напред
- ParentIterator::rewind — Назад итераторот
Белешки од корисници 2 забелешки
phoenix at todofixthis dot com ¶
пред 6 години
Анонимен ¶
пред 14 години
ParentIterator is just a RecursiveFilterIterator whos accept() method calls the RecursiveFilterIterator->hasChildren() method to filter itself.
Basically, it filters out leaf nodes. For example
This 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);
?>