Forum und email

unset

(PHP 4, PHP 5)

unset — Destrói a variável especificada

Descrição

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

unset() destrói a variável especificada.

O comportamento de unset() pode variar dentro de uma função dependendo do tipo de variável que você está tentando destruir.

Se utilizar unset() em uma variável global dentro de uma função, somente a variável local será destruída. A variável no ambiente que foi chamada terá o mesmo valor como antes da execução de unset().

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

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

O exemplo acima irá imprimir:

bar

Se você quer usar unset() na variável global dentro de uma função, você pode usar o array $GLOBALS, veja então:

<?php
function foo() 
{
    unset(
$GLOBALS['bar']);
}

$bar "something";
foo();
?>

Se a variável for passada por referencia e a função unset() estiver dentro de uma função, apenas a variável local será destruída. A variável no ambiente que chamou a função onde esta unset() irá manter o mesmo valor de antes da utilização de unset().

<?php
function foo(&$bar)
{
    unset(
$bar);
    
$bar "blah";
}

$bar 'something';
echo 
"$bar\n";

foo($bar);
echo 
"$bar\n";
?>

O exemplo acima irá imprimir:

something
something

Se for utilizado unset() com uma variável estática dentro de uma função, unset() destrói a variável somente no contexto do resto da função. Chamada seguintes irão restaurar o valor anterior da variável. todas as suas referências.

<?php
function foo()
{
    static 
$bar;
    
$bar++;
    echo 
"Before unset: $bar, ";
    unset(
$bar);
    
$bar 23;
    echo 
"after unset: $bar\n";
}

foo();
foo();
foo();
?>

O exemplo acima irá imprimir:

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

Parâmetros

var

The variable to be unset.

var

Another variable ..

...

Valor Retornado

Não há valor retornado.

Histórico

Versão Descrição
4.0.0 unset() tornou-se uma expressão. (No PHP 3, unset() sempre retorna 1).

Exemplos

Example#1 Exemplo da unset()

<?php
// destroy a single variable
unset($foo);

// destroy a single element of an array
unset($bar['quux']);

// destroy more than one variable
unset($foo1$foo2$foo3);
?>

Notas

Nota: Este é um construtor de linguagem e não uma função, por isso não é possível chamá-lo através de funções variáveis

Nota: É possível usar unset em propriedades de objetos visíveis no contexto atual.

Nota: Não é possível usar unset em $this dentro de um método de objeto desde o PHP 5.