unset
(PHP 4, PHP 5)
unset — Remover una variable dada
Descripción
unset() destruye las variables especificadas.
El comportamiento de unset() al interior de una función puede variar dependiendo del tipo de variable que intenta destruir.
Si se aplica unset() sobre una variable global al interior de una función, solo la variable local es destruida. La variable en el entorno de la llamada retendrá el mismo valor que antes que que se llamara unset().
<?php
function destruir_foo()
{
global $foo;
unset($foo);
}
$foo = 'bar';
destruir_foo();
echo $foo;
?>
El resultado del ejemplo seria:
bar
Si desea aplicar unset() sobre una variable global al interior de una función, puede usar la matriz $GLOBALS para este propósito:
<?php
function foo()
{
unset($GLOBALS['bar']);
}
$bar = "algo";
foo();
?>
Si se aplica unset() sobre una variable que es PASADA POR REFERENCIA al interior de una función, solo la variable local es destruida. La variable en el entorno de la llamada retendrá el mismo valor que antes de que unset() fuera llamada.
<?php
function foo(&$bar)
{
unset($bar);
$bar = "blah";
}
$bar = 'algo';
echo "$bar\n";
foo($bar);
echo "$bar\n";
?>
El resultado del ejemplo seria:
algo algo
Si se aplica unset() sobre una variable estática al interior de una función, unset() destruye la variable únicamente en el contexto del resto de una función. Las llamadas siguientes recuperarán el valor previo de una variable.
<?php
function foo()
{
static $bar;
$bar++;
echo "Antes de unset: $bar, ";
unset($bar);
$bar = 23;
echo "después de unset: $bar\n";
}
foo();
foo();
foo();
?>
El resultado del ejemplo seria:
Antes de unset: 1, después de unset: 23 Antes de unset: 2, después de unset: 23 Antes de unset: 3, después de unset: 23
Lista de parámetros
- var
-
La variable a destruir.
- var
-
Otra variable ..
- ...
-
Valores retornados
No value is returned.
Registro de cambios
Versión | Descripción |
---|---|
4.0.0 | unset() se conviritó en una expresión. (En PHP 3, unset() siempre devolvÃa 1). |
Ejemplos
Example#1 Ejemplo de unset()
<?php
// destruir una variable sencilla
unset($foo);
// destruir un elemento de una matriz
unset($bar['quux']);
// destruir más de una variable
unset($foo1, $foo2, $foo3);
?>
Notes
Note: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamado usando funciones variables
Note: Es posible remover incluso propiedades de objetos visibles en el contexto actual.
Note: No es posible remover $this al interior de un método en un objeto a partir de PHP 5.