Регистрация Войти
Войти через VK




Поиск по сайту



PHP Поиск



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;

Пример выведет:

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().

Все функции операторы
Описание на ru2.php.net
Описание на php.ru

.

Популярное:


Содержание:


Новое за неделю



Сейчас на сайте: 1558