(PHP 4, PHP 5)
unset — Remover una variable dada
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
La variable a destruir.
Otra variable ..
No value is returned.
Versión | Descripción |
---|---|
4.0.0 | unset() se conviritó en una expresión. (En PHP 3, unset() siempre devolvía 1). |
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);
?>
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.