Los misterios de unset() y las variables globales

¿Crees que conoces bien unset() de PHP?

¿Cuál crees que será el resultado de éste programa?

$variable = '¡Hola!';
function fueraVariable()
{
    global $variable;
    $variable = 'Hey!';
    unset($variable);
}

fueraVariable();
echo $variable . PHP_EOL;

Quizá te sosprenda pero esto no provoca ningún error; muestra el mensaje «Hey!».

Y esto es porque unset() aquí no elimina la variable global $variable sino su equivalente global.

Si quieres ver más cosas curiosas sobre PHP y aprender un poco cada día apúntate a PHP Journey:


¿Sabes lo que es el reto de PHP?

He creado el PHP Journey, una plataforma para que recibas de forma gratuita un email cada día con una pequeña perla de sabiduría de PHP y una pregunta que deberás responder.

Cada día pones a prueba tus conocimientos y aprendes algo nuevo.

Apúntate aquí:

https://urlantools.urlanheat.com/newsletter/php-journey/subscribe


Deja un comentario