|
(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; |
Пример
выведет: Если переменная, ПЕРЕДАННАЯ ПО ССЫЛКЕ, unset()
внутри функции, то разрушается только локальная переменная. Переменная в вызывающем
окружении останется с тем же значением, что и до вызова unset().
function foo(&$bar)
{ unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar\n"; foo($bar);
echo "$bar\n"; |
Пример выведет: Если static-переменная unset() внутри
функции, unset() разрушает эту переменную все ссылки на неё. function
foo() { static $a; $a++; echo "$a\n"; unset($a); } foo(); foo(); foo(); |
Пример
выведет: Если вы хотите unset() глобальную
переменную внутри функции, вы можете использовать массив $GLOBALS:
function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); |
См.
также isset() и empty(). |