#[Attribute] (2 этаж)

(Не)массивы в PHP

Одна из самых распространённых структур в PHP – массивы (array).

Однако PHP массивы не всегда являются массивами в классическом понимании. Пока для пользователя это key-value хранилище, под капотом PHP они могут выглядеть иначе: иногда это будет список, а иногда хеш-таблица.

Помимо всего прочего, массивы изначально являются фиксированными по длине и типу, однако в PHP мы можем добавлять в них сколько угодно данных, да ещё и разных типов! Как предоставить высокую производительность для всех случаев и не потерять в гибкости?

На этом докладе:

  • заглянем под капот PHP-массивов и узнаем, почему они такие «особенные»,
  • научимся разделять массивы и хеш-таблицы,
  • разберём, как устроены массивы в других языках (C, Go, Java),
  • напишем свою хеш-таблицу на PHP и сравним производительность,
  • обсудим все сопутствующие проблемы создания хеш-таблицы.

Этот доклад для тех, кто хочет понимать, что происходит под капотом PHP и использовать массивы осознанно, а не по привычке.

Спикер

Дмитрий Дерепко
Дмитрий Дерепко
Senior Developer
Internals