unset
(PHP 4, PHP 5)
unset — Destrói a variável especificada
Descrição
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.