English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
unset() Функция предназначена для уничтожения указанного переменной.
Требования к версии PHP: PHP 4, PHP 5, PHP 7
void unset ( mixed $var [, mixed $... ] )
Описание параметров:
Не возвращает значения.
<?php // Уничтожение одной переменной unset ($foo); // Уничтожение одного элемента массива unset ($bar['quux']); // Уничтожение одной или нескольких переменных unset($foo1, $foo2, $foo3); ?>
Если в функции unset() будет вызван глобальная переменная, то будет уничтожена только локальная переменная, а переменная в среде вызова останется той же, что была до вызова unset().
<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
Результат вывода:
bar
Если вы хотите в функции unset() вызвать глобальную переменную, вы можете использовать массив $GLOBALS:
<?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?>
Если в функции unset() будет вызван переменной, переданной по ссылке, то будет уничтожена только локальная переменная, а переменная в среде вызова останется той же, что была до вызова unset().
<?php function foo(&$bar) { unset($bar); $bar = "blah"; } $bar = 'something'; echo "$bar\n"; foo($bar); echo "$bar\n"; ?>
Данный пример выведет:
something something
Если в функции unset() будет вызван статический переменной, то переменная будет уничтожена внутри функции. Но, когда функция будет вызываться снова, эта статическая переменная будет восстановлена до значения, которое было у нее перед уничтожением.
<?php function foo() { static $bar; $bar++; echo "Before unset: $bar, "; unset($bar); $bar = 23; echo "after unset: $bar\n"; } foo(); foo(); foo(); ?>
Данный пример выведет:
До unset: 1, после unset: 23 До unset: 2, после unset: 23 До unset: 3, после unset: 23