Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
unset
(PHP 3, PHP 4, PHP 5)
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() внутри функции может варьироваться в зависимости от тогj, переменную какого типы вы пытаетесь разрушить.
Если глобализированная переменная 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().
Все функции операторыОписание на ru2.php.net
Описание на php.ru