Функции за променливи
PHP Manual

unset

(PHP 4, PHP 5)

unsetУнищожава дадена променлива

Описание

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

unset() унищожава указаните променливи.

Поведението на функцията unset() в тялото на функция може да бъде различно, в зависимост от типа на променливата, която се опитвате да унищожите.

Ако unset() се използва за глобална променлива, в тялото на функция, само локалната променлива се унищожава. Променливата от областта, от която е глобализирана ще запази стойността, която е имала преди извикването на unset().

<?php
function destroy_foo() 
{
    global 
$foo;
    unset(
$foo);
}

$foo 'bar';
destroy_foo();
echo 
$foo;
?>

Примерът по-горе ще изведе:

bar

Ако искате да унищожите глобална променлива от вътрешността на функция, можете да използвате масива $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();
?>

Примерът по-горе ще изведе:

Before unset: 1, after unset: 23
Before unset: 2, after unset: 23
Before unset: 3, after unset: 23

Параметри

var

Променливата, която ще бъде унищожена.

var

Друга променлива ..

...

Връщани стойности

Няма връщана стойност.

Дневник на промените

Версия Описание
4.0.0 unset() става израз. (В PHP 3, функцията unset() връща винаги 1).

Примери

Example #1 Пример за unset()

<?php
// унищожава дадена променлива
unset($foo);

// унищожава даден елемент от масив
unset($bar['quux']);

// унищожава повече от една променлива
unset($foo1$foo2$foo3);
?>

Бележки

Забележка: Тъй като това е езикова конструкция а не функция, тя не може да бъде извикана посредством променливи функции

Забележка: Имате възможност да унищожите дори свойствата на обекти, видими в текущия контекст.

Забележка: След PHP 5 е невъзможно да унищожите $this в тялото на метод на обект.

Вж. също


Функции за променливи
PHP Manual