Учебник РНР
Назад Вперёд

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 ($foo); // разрушить один элемент массива unset ($bar['quux']); // разрушить более одной переменной unset ($foo1, $foo2, $foo3);

Поведение 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();

См. также isset() и empty() .


Назад Оглавление Вперёд
unserialize Вверх var_dump