Простой итератор каталога, который является рекурсивным и показывает все файлы и каталоги / подкаталоги. Я не вижу встроенной функции для исключения определенных типов файлов, например, в следующем примере я не хочу выводить файлы с изображениями, такие как .jpg , .png и т. Д. Я знаю, что есть несколько способов сделать это , ища советы, по […]
Привет, мне нужен совет итератора. У меня есть объект Category, который может содержать набор элементов, а также может иметь дочерние категории. Из доктрины ORM я получаю коллекцию объектов категории. Теперь я хочу пройти эту коллекцию и сгладить структуру древа категории. Таким образом, категории детей находятся на том же уровне, что и его родитель. Я также […]
Уважаемый форум Stackoverflow, У меня есть 34-дюймовый json-файл с большим количеством данных. Я попытался импортировать в мой mongodb с помощью mongoimport –file file.json – но это не привело к тому, что файл слишком велик и выбросил ошибку системы памяти, которую вы знаете. Можно ли использовать PHP-код для итерации через файл с помощью курсора? У меня […]
Я начал изучать PHP SPL из ArrayIterators, и я хотел бы знать, какие преимущества могут использовать SPL ArrayObject, ArrayIterator, RecursiveArrayIterator вместо обычных массивов? a) Я слышал, что циклы, использующие итераторы SPL, уменьшат использование памяти (но почему?). Я действительно не знаю, верить этому или нет, потому что я не понимаю, как это может уменьшить использование памяти. […]
Как работает RecursiveIteratorIterator ? Руководство PHP не имеет ничего документированного или объясненного. В чем разница между IteratorIterator и RecursiveIteratorIterator ?
Мне еще предстоит найти хороший пример того, как использовать php RegexIterator для рекурсивного прохождения каталога. Конечным результатом будет то, что я хочу указать каталог и найти все файлы в нем с некоторыми заданными расширениями. Скажем, например, только расширения html / php. Кроме того, я хочу отфильтровать папки такого типа .Trash-0, .Trash-500 и т. Д. <?php […]
$arrayIter = new ArrayIterator( array(1, 2) ); $iterIter = new IteratorIterator($arrayIter); var_dump($iterIter->valid()); //false var_dump($arrayIter->valid()); //true Если я сначала вызову $ iterIter-> rewind () , то $ iterIter-> valid () будет true. Мне любопытно, почему это требует вызова перемотки (). Я предполагаю, что для этого есть веская причина, но я ожидал, что он просто начнет итерацию […]