SPL - это набор интерфейсов и классов PHP, предназначенных для решения стандартных задач.
1 ответ

Рекурсивный итератор PHP: родительский ключ текущей итерации массива?

У меня есть такой массив: $arr = array( $foo = array( 'donuts' => array( 'name' => 'lionel ritchie', 'animal' => 'manatee', ) ) ); Используя эту магию 'SPL Recursive Iterator' и этот код: $bar = new RecursiveIteratorIterator(new RecursiveAr…
31 май '13 в 10:29
0 ответов

Файлы.SPL, но начинаются с байтов PK?

Я пытался использовать библиотеку спула в C#, которую я нашел в Интернете, для анализа файлов.SPL при отправке на принтер. Он способен читать такие языки, как PCL, PS и т. Д., Однако, после печати с принтера Ricoh и моего собственного струйного прин…
10 окт '18 в 22:58
2 ответа

Не можете написать новые элементы в IteratorAggregate?

Правильно ли я считаю, что IteratorAggregate только обеспечивает массив как доступ для чтения к объекту? Если мне нужно записать в объект-массив, то мне нужно использовать Iterator? Далее следует демонстрация объекта IteratorAggregate, вызывающего ф…
27 авг '10 в 14:31
4 ответа

spl_object_hash для PHP < 5.2 (уникальный идентификатор для экземпляров объекта)

Я пытаюсь получить уникальные идентификаторы для экземпляров объектов в PHP 5+. Функция, spl_object_hash() доступно из PHP 5.2, но мне интересно, есть ли обходной путь для старых версий PHP. В комментариях на php.net есть несколько функций, но они н…
19 фев '10 в 20:52
2 ответа

Как сериализовать большие объекты / массивы в JSON

Мое приложение должно производить JSON объекта, который имеет большой data свойство типа массив. Массив должен оставаться в памяти, поскольку он собирает выходные данные БД, и некоторые свойства могут быть определены только после того, как массив бу…
09 янв '14 в 13:12
2 ответа

После использования $files = new DirectoryIterator() в PHP, как вы сортируете элементы?

Мы можем получить файлы в каталоге на PHP $files = new DirectoryIterator() после этого есть ли простой способ сортировки элементов в определенном порядке их отображения? Благодарю.
02 июл '09 в 22:04
2 ответа

Если библиотеки PHP могут регистрировать свои собственные автозагрузчики, то почему PSR-0 требует, чтобы они находились в единых каталогах?

Я создаю фреймворк (это огромное упрощение - пожалуйста, не рекомендуется использовать вместо него существующий фреймворк, который не поможет), в который я хотел бы иметь возможность интегрировать другие библиотеки. Рекомендация PSR-0 предлагает, чт…
03 дек '12 в 21:47
1 ответ

Справка PHP DirectoryIterator

В следующем коде, что можно вызвать вместо -&gt;getFilename()? &lt;?php foreach (new DirectoryIterator('../moodle') as $fileInfo) { if($fileInfo-&gt;isDot()) continue; echo $fileInfo-&gt;getFilename() . "&lt;br&gt;\n"; } ?&gt; PS, я видел документац…
28 янв '10 в 03:52
1 ответ

В чем разница между SplHeap, SplMinHeap, SplMaxHeap и SplPriorityQueue

Есть куча объектов, которые мне нужно пройти в отсортированном порядке. Обнаружил два подкласса SplHeap, SplMaxHeap и SplMinHeap, поэтому решил, что я могу попытаться использовать их в качестве эксперимента. В комментарии я также прочитал упомянутое…
12 ноя '17 в 22:03
3 ответа

Найти файлы в папках и подпапках, которые были созданы на текущую дату

Я пытаюсь найти файлы, которые были созданы сегодня. Я нашел большую часть своего ответа в других постах, но не совсем понял его правильно. Приведенный ниже код повторяет все файлы, а не только те, которые были созданы сегодня. Какие-либо предложени…
17 мар '15 в 13:09
2 ответа

Является ли PHP SplHeap действительно кучей?

Является ли реализация кучи PHP полноценной реализацией? Когда я читаю эту статью, http://en.wikipedia.org/wiki/Heap_%28data_structure%29, я понимаю, что у дочернего узла есть определенный родительский элемент, и что у родительского элемента есть оп…
05 авг '12 в 10:22
1 ответ

Бесконечный цикл с SplQueue

Мне нужна очередь, в которую я добавляю объекты во время работы с очередью (первым пришел - первым вышел). Кроме того, я отслеживаю отсутствие дублирующих объектов в хэш-карте. &lt;?php $test = new \SplQueue(); $done = array(); // Put 'test a' in qu…
01 фев '15 в 13:38
1 ответ

Итерация по результатам базы данных с интерфейсом php iterator

Я изучал эту книгу на php, и есть этот пример шаблона итератора, который использует интерфейс итератора. Я могу использовать интерфейс итератора для циклического перебора простых массивов, но я не совсем понимаю пример, показанный в книге. Я выложу …
09 июл '17 в 01:10
2 ответа

Где я могу найти загружаемую базу данных рецептурных и безрецептурных препаратов?

Я работаю над проектом для (американских) онлайн-аптек, и мне трудно найти базу данных лекарств, сгруппированных по категориям непрофессионалов. Я загрузил данные FDA из "Drugs@FDA" и "Facts@FDA". Он содержит широкий список утвержденных лекарств, но…
17 окт '10 в 17:44
1 ответ

Автозагрузка SPL и пространства имен

После просмотра веб-страницы мне удалось создать работающий SPL_Autoload и использовать в нем пространства имен. Это работает, но также выглядит немного странно для меня по сравнению со всеми примерами, которые я просматривал, и документацией. Я все…
20 июл '13 в 21:48
2 ответа

Примените косую черту к папкам с помощью FilesystemIterator

Наличие следующего фрагмента для рекурсивного сопоставления содержимого текущего каталога: $files = new RecursiveIteratorIterator ( new RecursiveDirectoryIterator('./', FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS), RecursiveIterat…
20 окт '12 в 12:00
1 ответ

RecursiveParentChildIterator - как RecursiveDirectoryIterator

Существует множество примеров использования RecursiveIterator для выравнивания древовидной структуры... но как насчет использования его для взрыва древовидной структуры? Есть ли элегантный способ использовать это или какую-то другую библиотеку SPL д…
29 апр '10 в 14:48
3 ответа

Какой интерфейс SPL я должен реализовать, чтобы иметь возможность использовать функцию usort() для объекта?

У меня есть класс, который представляет объект коллекции: у него есть только один атрибут, массив. Этот класс реализует \Countable, \IteratorAggregateи самое главное для этого вопроса, \ArrayAccess, Но при использовании: usort($collectionData, funct…
28 фев '13 в 13:17
1 ответ

Как использовать RecursiveIteratorIterator для создания многоуровневого HTML-меню?

У меня проблемы с тем, чтобы обрести голову RecrusiveIteratorIterator и родственники, чтобы перебрать многомерный массив страниц, чтобы построить многоуровневое меню в PHP. Обычно я просто создаю функцию, которая зацикливается на уровне и вызывает с…
10 окт '12 в 12:13
2 ответа

Клон SplHeap, который содержит объекты в PHP

Я хотел бы знать, как я могу клонировать расширенный класс SplHeap, который содержит объекты. Например, если FooHeap расширяет SplHeap, возможно ли для FooHeap иметь метод __clone и клонировать его элементы объекта? class FooHeap extends SplHeap{ pu…
16 фев '13 в 09:22