Стоит или не стоит использовать Unset?

Здравствуйте!

Стоит ли чистить переменные unset`ом, например, большие массивы данных, если далее они скрипту уже не требуются? А также стоит ли чистить "мелкие" переменные?

Спасибо.
  • Вопрос задан
  • 3339 просмотров
Пригласить эксперта
Ответы на вопрос 6
Удалять ненужные "большие" переменные - хороший тон.
Ответ написан
Playmore
@Playmore
Опытный разработчик
unset нужен только на "тяжелых" переменных, и только в том случае, если выполнение скрипта продолжается.
В прочих случаях сработает сборщик мусора
Ответ написан
Комментировать
@Vampiro
Почитайте про преждевременную оптимизацию скриптов.
Ответ написан
Комментировать
nazarpc
@nazarpc
Open Source enthusiast
Я считаю, что удаление переменных - хороший тон, который позволяет объяснить, когда переменная больше не нужна. Время жизни переменной должно быть минимальным: объявляете перед использованием, удаляете после. Есть сборщик мусора, но некоторые переменные могут достаточно долго находиться в области видимости, а в этом случае сборщик мусора до них не доберется.

Если же переменная это массив размером в 2МБ, тогда данное правило стает таки обязательным, ибо позволяет очистить память прямо тут и сейчас, а не ждать пока это сделает сборщик мусора. Тем более если скрипт работает относительно долго (пол секунды и больше).
Ответ написан
Комментировать
@gro
Не гадьте в глобальный контекст и не занимайтесь чепухой.
Ответ написан
svd71
@svd71
лучше чистить все. дело в том, что просто на декларирование памяти под переменную требуется около 16 байт, так еще и место под ее значения. при обращении, каждый клиент берет память у сервера. при массовых обращениях может памяти не хватить. тогда и получается ddos атака.
правильная работа с памятью это и есть залог нормальной работы.

посмотреть весь зоопарк в памяти можно командой print-r($GLOBALS);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы