unset - нужно ли? (функции)

PN
На сайте с 01.05.2008
Offline
113
1216

Нужно ли чистить массивы (разного размера) которые вызываются в функции? Посел выполенния функции, что что в ней выполнялось чиститься автоматом?

function x($z){

ВЫборка из б.д.

while($myrow... ) {};

unset($myrow); -??

return результат.

}

А так же, в каких случая желательно делать unset? Какой размер массива/переменной считается большим, для того что бы его чистить?

Большая часть моих массивов передается в темплейты... ПОтому по идее же надо их почитить, но некоторые утверждают что не надо. Как вы считаете?

LEOnidUKG
На сайте с 25.11.2006
Offline
1770
#1

У вас этот скрипт демоном работает постоянно на сервере?

Если нет, то всё очищается после выполнения скрипта, а это секунда.

Так же можно и не закрывать соединение от мускуля т.к. оно так же автоматически закрывается после выполнения скрипта. А если этого не делает, бежать с хостинга.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
A
На сайте с 12.09.2010
Offline
0
#2

Все локальные переменные уничтожаются при выходе из функции.

T
На сайте с 20.03.2007
Offline
67
Toy
#3

Про это рассказывается в любом учебнике по программированию, тема: Область видимости :-)

N
На сайте с 06.05.2007
Offline
419
#4

в функции просто так не нужно.

но если внутри функции, в пределах одной области видимости идет обработка данных, создание больших массивов, то промежуточные массивы и тд принято удалять через unset.

Кнопка вызова админа ()
Dreammaker
На сайте с 20.04.2006
Offline
569
#5

Также если в цикле пересоздаётся объект, то его тоже нужно чистить.

На практике даже не unset, типа $object = null; ибо сталкивался, когда unset почему-то не делал, то что от него требовалось и память забивалась. Правда, с этоим столкнулся пару лет назад, может уже починили.

[Удален]
#6

не нужно ставить это в функции. как заметил LEOnidUKG, очищение мнгновенно практически происходит.

PN
На сайте с 01.05.2008
Offline
113
#7

ПОнял, спасибо ребята.

D5
На сайте с 01.06.2004
Offline
51
#8

Если скрипт выполняет множество запросов к БД, то имеет смысл вызывать mysql_free_result() или аналогичную для других БД, чтобы не засорять память.

Программирование сайтов (http://lindir.ru)
PN
На сайте с 01.05.2008
Offline
113
#9
dk547:
Если скрипт выполняет множество запросов к БД, то имеет смысл вызывать mysql_free_result() или аналогичную для других БД, чтобы не засорять память.

mysql_free_result() - надо вызывать после окончания цикла While?

И какой размер вытащенных данных дожен быть, что бы была необходимость чистить с помощью mysql_free_result() ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий