English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по PHP для начинающих

Учебник по PHP для продвинутых

PHP & MySQL

PHP справочник

Пример использования и примеры unset() функции PHP

Доступные функции PHP

unset() Функция предназначена для уничтожения указанного переменной.

Требования к версии PHP: PHP 4, PHP 5, PHP 7

Синтаксис

void unset ( mixed $var [, mixed $... ] )

Описание параметров:

  • $var: переменная, которую нужно уничтожить.

Возвратное значение

Не возвращает значения.

Онлайн пример

<?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

Доступные функции PHP