Как устроены массивы в PHP и как код влияет на скорость работы с ними
Массивы — это хлеб и масло PHP-разработчика. Мы используем их постоянно, но редко задумываемся, как они устроены внутри. А от этого устройства напрямую зависит скорость и память нашего приложения. Давайте разберемся. Давайте развеем 3 мифа: 1. Доступ к элементам массива всегда занимает одинаковое время. 2. В PHP обычный и ассоциативный массивы – одно и то же. 3. Использовать ссылку в foreach быстрее, чем просто итерироваться по элементам. Представим ситуацию. Вы создали массив и одним и тем же оператором « $array[] = $value;» добавляете в него элементы. Ключи получаются последовательными: 0, 1, 2, 3, ... 9999. Последний ключ в массиве – 10000. Вы добавляете новый элемент с ключом 100000000. Вопрос: будет ли скорость добавления этого последнего элемента такой же, как у всех предыдущих? Согласитесь, большинство даже не задумается об этом. И кажется, что не должно оно отличаться. Но раз такой вопрос написан, может все-таки отличается? Откуда и какие появляются отличия разберем дальше. (Спойлер: у меня время добавления увеличилось в 2872 раза). Массив — один из самых часто используемых типов в PHP. Понимание его внутренностей помогает:
https://habr.com/ru/articles/947162/
#array #массив