Я ищу наиболее оптимальный способ хранения объектов, содержащих два свойства, по которым можно искать объекты по порядку. Также требуется простой способ вставки новых объектов до и после указанного ключа (одно из свойств хранимых объектов).
В настоящее время я экспериментирую с SplDoublyLinkedList, который обладает хорошим свойством всегда упорядочивать и функциональностью вставки узлов по индексу с помощью add ($ index, $ object) ;. DLL, однако, требует циклического перемещения по всему списку для выполнения любого поиска и дополнительного цикла для сброса внутреннего указателя в запомненную позицию.
Я думал о классическом массиве php, но ему нужны уродливые хаки array_splice для выполнения вставок (разбиение массива на ключи и значения, разбиение обоих массивов в нужном индексе, добавление ключа и значения в первые массивы ключей и значений, объединение результирующих массивов и затем комбинирование ключей со значениями) и отслеживание текущей позиции менее интуитивно понятно.
Какая моя лучшая ставка?
Задача ещё не решена.
Других решений пока нет …