English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
unset() A função é usada para destruir a variável fornecida.
Requisitos de versão do PHP: PHP 4, PHP 5, PHP 7
void unset ( misto $var [, misto $... ] )
Descrição dos parâmetros:
Não há valor de retorno.
<?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