unset
unset
(unknown)
unset - разустанавливает данную переменную.
Описание
void unset (mixed var [, mixed var [, ...]])
Примечание: unset() это конструкция языка.
unset() разрушает специфицированные переменные. Заметьте, что в PHP 3 unset() всегда возвращает TRUE(в действительности - integer значение 1). В PHP 4, однако, unset() это больше не true-функция: это теперь оператор. Поскольку никакое значение не возвращается, попытка получить значение unset() даст ошибку разбора.
Пример 1. unset()
|
Поведение unset() внутри функции может варьироваться в зависимости от тог, переменную какого типы вы пытаетесь разрушить.
Если глобализированная переменная unset() внутри функции, то разрушается только локальная переменная. Переменная в вызывающем окружении останется с тем же значением, что и до вызова unset().
function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; |
bar |
Если переменная, ПЕРЕДАННАЯ ПО ССЫЛКЕ, unset() внутри функции, то разрушается только локальная переменная. Переменная в вызывающем окружении останется с тем же значением, что и до вызова unset().
function foo(&$bar) { unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar\n"; foo($bar); echo "$bar\n"; |
something something |
Если static-переменная unset() внутри функции, unset() разрушает эту переменную все ссылки на неё.
function foo() { static $a; $a++; echo "$a\n"; unset($a); } foo(); foo(); foo(); |
1 2 3 |
Если вы хотите unset() глобальную переменную внутри функции, вы можете использовать массив $GLOBALS:
function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); |