Intereting Posts
Debian: узнать об использовании процессора с помощью bash UTC Дата / Время Строка для часового пояса Php – выясните, какой учебный год он PHPMailer, сохранить 1 SMTP-соединение с другим получателем по контенту электронной почты PHPExcel удаляет стиль диаграммы при загрузке шаблона Слияние Doctrine: всегда обновляется поле DateTime Как вывести значения этого массива? Обычные ценовые правила Magento для продукта FB загружает фотографию из приложения и публикует ее на стене пользователя Предупреждение: trim () ожидает, что параметр 1 будет строкой, массив указан в wp-includes / class-phpmailer.php в строке 973 PHP SQL: как сохранить данные в несколько баз данных из одной формы html или как автоматически копировать данные из одной базы данных в другую базу данных Получить точки полигона mysql WooCommerce 2.6 – Скрытие оплачиваемой доставки, когда бесплатная доставка запускается путем достижения определенной суммы Как получить доступ к каталогу index.php без завершающей косой черты И не получить 301 перенаправление Форма html / php дает мне 500 ошибок внутреннего сервера при добавлении дополнительных полей ввода

Структуры данных PHP (Java-подобные) Коллекции

Мне интересно узнать о преимуществах создания небольшой библиотеки, возможно, для личного использования, которая определяет несколько структур данных, таких как Linked Lists, Trees (Binary, AVL и т. Д.), Таблицы поиска Hash и т. П.

Некоторые из них будут построены поверх собственного PHP-массива, поскольку он действует как многие из этих типов, а некоторые потенциально не будут.

Мой вопрос действительно, имеет ли смысл строить любой из этих классов – особенно те, которые не могут основываться на собственном массиве? Я говорю здесь об вычислительной практичности и не особенно хочу вдаваться в динамический или типизированный аргумент языка (мне все еще интересно услышать что-нибудь интересное и актуальное на эту тему в стороне).

Разве это безумно строить эти (возможно, более эффективные, логически) структуры данных, используя классы, когда у нас есть реализация C базового массива?

Благодаря..

Solutions Collecting From Web of "Структуры данных PHP (Java-подобные) Коллекции"

Уже есть http://php.net/manual/en/book.spl.php, который может охватывать то, что вы хотите, но если вы построите их, вам будет интересно и улучшить свои навыки программирования PHP / общего кода, тогда я думаю, что это будет очень хорошая идея.

Может также быть хорошей библиотекой, чтобы выпустить более широкую аудиторию и кое-что, чтобы надеть свое резюме.

Взгляните на SPL

http://php.net/manual/en/book.spl.php

и прочитайте « Новые возможности Split» Мэтью Турланда в PHP 5.3 для обсуждения этих структур данных.

Это поздний ответ, но это поможет кому-то искать структуры данных PHP. PHP 7 представляет расширение, называемое ds предоставляющее специализированные структуры данных в качестве альтернативы массиву.

ds ,

  • использует пространство имен Ds\ .
  • имеет 3 интерфейса, а именно: Collection , Sequence и Hashable .
  • имеет 8 классов, а именно Vector , Deque , Queue , PriorityQueue , Map , Set , Stack и Pair .

Для получения дополнительной информации ознакомьтесь с руководством, а также в этом сообщении в блоге есть некоторые потрясающие сведения, включая контрольные показатели.

Если вы смотрите на производительность, вы можете создать php-модуль (например, SPL), который дает доступ к этим структурам (поскольку они уже реализованы на C).