Выделяет ли функция PHP range() память для всех элементов в диапазоне? ⇐ Php
-
Anonymous
Выделяет ли функция PHP range() память для всех элементов в диапазоне?
Мне интересно, как работает range() внутри.
Похоже, что он используется для проверки того, находится ли данное значение в определенном диапазоне, но также кажется, что он распределяет все элементы в массиве при создании диапазона, поэтому генерация всего диапазона — это пустая трата памяти, если только границы будут сравниваться при проверке того, находится ли значение в диапазоне.
Лучшим решением был бы объект диапазона, который не генерирует все элементы, но который можно повторять и генерировать объекты, тогда при проверке того, находится ли значение в диапазоне, в памяти находятся только границы, а не все предметы ассортимента. Мне интересно, есть ли для этого PHP-решение.
Мне интересно, как работает range() внутри.
Похоже, что он используется для проверки того, находится ли данное значение в определенном диапазоне, но также кажется, что он распределяет все элементы в массиве при создании диапазона, поэтому генерация всего диапазона — это пустая трата памяти, если только границы будут сравниваться при проверке того, находится ли значение в диапазоне.
Лучшим решением был бы объект диапазона, который не генерирует все элементы, но который можно повторять и генерировать объекты, тогда при проверке того, находится ли значение в диапазоне, в памяти находятся только границы, а не все предметы ассортимента. Мне интересно, есть ли для этого PHP-решение.
Мобильная версия