unset() destruye las variables especificadas. Note que en PHP 3, unset() siempr茅 devolver谩 TRUE (en realidad, el valor entero 1). En PHP 4, sin embargo, unset() no es una funci贸n verdadera: es una sentencia. Como tal, no devuelve valor alguno, e intentar tomar el valor de unset() resulta en un error de int茅rprete.
Nota: Es posible remover incluso propiedades de objetos visibles en el contexto actual.
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().
El resultado del ejemplo seria:
Si desea aplicar unset() sobre una variable global al interior de una funci贸n, puede usar la matriz $GLOBALS para este prop贸sito:
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 |
El resultado del ejemplo seria:
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 |
El resultado del ejemplo seria:
Antes de unset: 1, despues de unset: 23 Antes de unset: 2, despues de unset: 23 Antes de unset: 3, despues de unset: 23 |
Nota: Puesto que esto es una construcci贸n del lenguaje y no una funci贸n, no puede ser llamado usando funciones variables
Vea tambi茅n isset(), empty(), y array_splice().