unset (unknown) unset -- Уничтожает данную переменнуюОписаниеvoid unset (mixed var [, mixed var [, ...]])
Функция unset() уничтожает указанные переменные.
Заметьте, что в PHP 3 unset() будет всегда возвращать TRUE
(фактчически, число 1). В PHP 4, однако,
unset() не является функцией как таковой, а
утверждением. Поэтому она не возвращает
никакого значения и попытка получить его приведет к ошибке.
Пример 1. unset() пример // унчитожение одной переменной
unset ($foo);
// уничтожение одного элемента массива
unset ($bar['quux']);
// уничтожение более, чем одного значения
unset ($foo1, $foo2, $foo3); |
|
Поведение unset() внутри функции может меняться в
зависимости от типа переменной, которую вы
хотите уничтожить.
Если уничтожается глобальная переменная
внутри функции, то уничтожается только
локальная переменная. Уничтожение
переменных окружения вызовет тот же эффект.
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo; |
Вышеприведенный пример выведет:
Если ссылающаяся переменная (passed by reference)
уничтожается unset() внутри функции, то уничтожается только
локальная переменная.
function foo(&$bar) {
unset($bar);
$bar = "blah";
}
$bar = 'something';
echo "$bar\n";
foo($bar);
echo "$bar\n"; |
Вышеприведенный пример выведет:
Если уничтожается статичная переменная
внутри функции, unset() уничтожит скорее ссылку на эту переменную,
чем саму переменную.
function foo() {
static $a;
$a++;
echo "$a\n";
unset($a);
}
foo();
foo();
foo(); | Вышеприведенный пример выведет:
Если вы хотите уничтожить глобальную
переменную внутри функции, вы можете
использовать массив $GLOBALS:
function foo() {
unset($GLOBALS['bar']);
}
$bar = "something";
foo(); |
Примечание:
unset() является конструкцией языка.
Смотрите также isset() и empty().
<-Назад
Список всех функций Если вы заметили ошибку, неточность, либо хотите опубликовть свой перевод неуказанных в разделе функций, пожалуйста, напишите по этому адресу.
|