Driver86
@Driver86
Немодератор toster.ru

PHP: imagedestroy и unset — в чём отличия?

imagedestroy удаляет изображение (значение переменной типа ресурс), освобождая таким образом память.
unset удаляет переменную (в том числе и типа ресурс), освобождая таким образом память.
Т.е. можно вместо imagedestroy использовать unset?
Гугление ничего не дало.
  • Вопрос задан
  • 284 просмотра
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Разница может быть в работе методов освобождения ресурсов (объект может быть сложным) и в механизмах работы сборщика мусора. Особенно, если учесть, что GD - это отдельный модуль, а unset является частью ядра PHP.

В документации про возможность использования unset вместо imagedestroy ничего не видно. Так что лучше использовать imagedestroy, чтобы не было утечек памяти.

На этот вопрос наверное только разработчики PHP смогут ответить и то не всякий, кто участвовал в разработке. Версий PHP уже было много, что-то в процессе могло поменяться в логике. Полной картиной только старожилы могут обладать, которые участвовали в разработке всех версий PHP и находятся в здравом уме и твердой памяти :-)

Исходный код открыт, можно в нем поискать :-)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы