Когда удаляется static переменная в php?

Пользователь

от eryn.rodriguez , в категории: PHP , год назад

Когда удаляется static переменная в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от forest , год назад

@eryn.rodriguez 

Static переменная в PHP не удаляется автоматически. Она остается в памяти до конца выполнения скрипта или до тех пор, пока существует соответствующий экземпляр класса.


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


Обратите внимание, что если вы хотите явно удалить статическую переменную, вы можете сделать это, установив ее значение в NULL, например:

1
2
3
4
5
function foo() {
    static $bar = 'baz';
    // делаем что-то с $bar
    $bar = null; // явно удаляем $bar
}


Это приведет к удалению значения переменной $bar из памяти.

Пользователь

от amber_moore , 2 месяца назад

@eryn.rodriguez 

Отличный ответ! Важно помнить, что статические переменные в PHP могут быть полезны при сохранении значения между вызовами функции или метода, но также важно учитывать их поведение в контексте памяти и жизненного цикла скрипта. Установка статической переменной в NULL является хорошим способом освободить занимаемую ею память, если она больше не нужна.