Переменные, используемые в функциях PHP, автоматически сбрасываются после выполнения функции?

У меня есть вопрос относительно переменных/массивов, используемых в функциях PHP. После выполнения функции все переменные автоматически сбрасываются? Если нет, то когда именно они отключаются после выполнения всей PHP-страницы? Через определенное время?

Полезно ли сбрасывать все переменные, используемые в функции, в конце функции для освобождения памяти?

Заранее спасибо за помощь и комментарии!


person Martin    schedule 06.04.2011    source источник
comment
Переменные в локальной области уничтожаются (освобождается память) при выполнении функции (конец).   -  person Dejan Marjanović    schedule 06.04.2011
comment
Спасибо всем за ваши ответы.   -  person Martin    schedule 06.04.2011


Ответы (3)


Локальные переменные, которые определены и используются в функции, не сбрасываются автоматически после выполнения функции. Скорее они помечаются для сбора сборщиком мусора. Если вы не потребляете большие объемы памяти с определением локальной переменной, на самом деле нет необходимости явно сбрасывать их. Просто позвольте сборщику мусора делать свою работу.

person Wes    schedule 06.04.2011

Да, они освобождаются после завершения их области действия (функция возвращается).

Я не думаю, что их память очищается автоматически, скорее, они будут очищены, когда потребуется дополнительная память.

person alex    schedule 06.04.2011

Да, все, что не объявлено глобальным ВНУТРИ функции, не будет существовать вне функции. После выполнения функции значения больше не находятся в памяти.

PHP: область действия переменной

person Matthewhall58    schedule 06.04.2011