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

Tutoriais Básicos PHP

Tutoriais Avançados PHP

PHP & MySQL

Manual de Referência PHP

Uso e exemplo da função unset() do PHP

PHP disponíveis funções

unset() A função é usada para destruir a variável fornecida.

Requisitos de versão do PHP: PHP 4, PHP 5, PHP 7

Sintaxe

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

Descrição dos parâmetros:

  • $var: variável a ser destruída.

Valor de retorno

Não há valor de retorno.

Exemplo online

<?php
// Destruir uma única variável
unset ($foo);
// Destruir um único elemento de array
unset ($bar['quux']);
// Destruir mais de uma variável
unset($foo1, $foo2, $foo3);
?>

Se você usar unset() em uma variável global dentro de uma função, apenas a variável local será destruída, enquanto a variável no ambiente de chamada manterá o valor antes de chamar unset().

<?php
function destroy_foo() {
    global $foo;
    unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
?>

Resultados de saída:

bar

Se você quiser usar unset() em uma variável global dentro de uma função, você pode usar o array $GLOBALS para isso:

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

Se você usar unset() em uma variável passada por referência dentro de uma função, apenas a variável local será destruída, enquanto a variável no ambiente de chamada manterá o valor antes de chamar unset().

<?php
function foo(&$bar) {
    unset($bar);
    $bar = "blah";
}
$bar = 'something';
echo "$bar\n";
foo($bar);
echo "$bar\n";
?>

O exemplo a seguir produzirá:

something
something

Se você usar unset() em uma variável estática dentro de uma função, a variável será destruída dentro da função. Mas, quando a função é chamada novamente, a variável estática será restaurada para o valor antes de ser destruída.

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

O exemplo a seguir produzirá:

Antes de unset: 1, após unset: 23
Antes de unset: 2, após unset: 23
Antes de unset: 3, após unset: 23

PHP disponíveis funções