RecursiveIteratorIterator::getDepth
(PHP 5)
RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration
Description
public int RecursiveIteratorIterator::getDepth
( void
)
Warning
This function is currently not documented; only its argument list is available.
Parameters
This function has no parameters.
Return Values
The current depth of the recursive iteration.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие базовые расширения
- Стандартная библиотека PHP (SPL)
- Итераторы
- Функция RecursiveIteratorIterator::beginChildren() - Переход к первому дочернему элементу
- Функция RecursiveIteratorIterator::beginIteration() - Начало навигации
- Функция RecursiveIteratorIterator::callGetChildren() - Получение дочерних элементов
- Функция RecursiveIteratorIterator::callHasChildren() - Проверка, есть ли у элемента дочерние
- Функция RecursiveIteratorIterator::__construct() - Конструктор класса RecursiveIteratorIterator
- Функция RecursiveIteratorIterator::current() - Получает значение текущего элемента
- Функция RecursiveIteratorIterator::endChildren() - End children
- Функция RecursiveIteratorIterator::endIteration() - Окончание навигации
- Функция RecursiveIteratorIterator::getDepth() - Определяет текущую глубину рекурсии
- Функция RecursiveIteratorIterator::getInnerIterator() - Получение ссылки на внутренний итератор
- Функция RecursiveIteratorIterator::getMaxDepth() - Получение максимальной глубины рекурсии
- Функция RecursiveIteratorIterator::getSubIterator() - Получение активного вложенного итератора
- Функция RecursiveIteratorIterator::key() - Получение ключа текущего элемента
- Функция RecursiveIteratorIterator::next() - Перемещение итератора к следующему элементу
- Функция RecursiveIteratorIterator::nextElement() - Следующий элемент
- RecursiveIteratorIterator::rewind
- Функция RecursiveIteratorIterator::setMaxDepth() - Установка максимальной глубины вложенности
- Функция RecursiveIteratorIterator::valid() - Проверка допустимости текущей позиции
Коментарии
Example to only return directories that are a specified depth in a tree:
<?php
function directory_mapper($path)
{
$maxDepth = 3;
$minDepth = 3;
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST,
RecursiveIteratorIterator::CATCH_GET_CHILD// Ignore "Permission denied"
);
$iterator->setMaxDepth($maxDepth);
$paths = array($path);
foreach ($iterator as $path => $dir) {
if ($iterator->getDepth() >= $minDepth) {
if ($dir->isDir()) {
$paths[] = $path;
}
}
}
array_shift($paths);
return $paths;
}
?>