Задать вопрос
@Cuzina

Нужно ли убивать переменные если больше не будишь использовать?

Переменные наверно занимают память и еще что то.
Я подумала может их удалять после использования? С помощью unset() или как то еще посоветуете?

И удаление не будет расходывать ресурсов больше чем если бы они просто остались в памяти?
После окончания работы скрипта память освобождается?
Что еще порекомендуете сделать с переменными для эффективности использования ресурсов?

//
что значит явно? Они сами освобождаются? а если в одном скрипте используются 5 переменных и они много в памяти занимают, и в конце скрипта какое то вычисление происходит которому не нужны эти переменные но нужно максимум памяти, то как с этим быть или это не так устроено?
  • Вопрос задан
  • 853 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 3
delphinpro
@delphinpro Куратор тега PHP
frontend developer
не заморачивайтесь. Php сам все за вас подчистит. Кроме того, он живет лишь в течение одного запроса, после которого вся память будет освобождена.

Вот если вы работаете над hi-load.... Стоп. Я загнался. Тогда бы у вас, наверное, уже не возникало бы таких вопросов.
Ответ написан
@dmitryKovalskiy
программист средней руки
Явно надо освобождать только ресурсы - соединения с базой или файлами например. Простые типы освобождать явно не надо. В остальном все зависит от конкретного решения задачи.
Ответ написан
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Зависит от ситуации.
В большинстве случаев - не нужно. Сборщик мусора сделает всё за вас. Но иногда, например, когда у вас переменная является массивом, который в цикле заполняется, и при этом цикл работает очень долго, может быть целесообразно и очищать этот массив раз в некоторое количество итерраций, чтобы не засорять память.
Если вы работаете с ORM типа Doctrine - опять же не мешает при длительных операциях с обработкой большого количества данных чистить identity map. Правда, это не совсем удаление переменных за собой.
В общем, в подавляющем большинстве случаев, когда ваш код выполняется линейно и, тем более, если это функция, удалять переменные не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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