Variables locales y globales en PHP5

Leyendo diferente documentación podemos ver que tenemos variables globales y locales. Las globales se declaran fuera de una función y tiene aplicación en cualquier lugar fuera de una función. Las variables locales se declaran dentro de una función y sólo tienen actividad dentro de esa función.

Podemos ver el siguiente ejemplo:

<?php
$a=15; // variable global
function prueba()
{
$b=74; // variable global
echo "Dentro de la función la variable a tiene un valor de $a y la variable b tiene un valor de $b";
}
prueba();
echo "<br>";
echo "Fuera de la función la variable a tiene un valor de $a y la variable b tiene un valor de $b";
?>

como vemos en el resultado:

Dentro de la función la variable a tiene un valor de y la variable b tiene un valor de 74

Fuera de la función la variable a tiene un valor de 15 y la variable b tiene un valor de

En resumen, la variable global no actúa dentro de una función y la variable local no actúa fuera de la función donde fue declarada.

Para conseguir que una variable global actúe dentro de una función hay que declararla en la función precedida de global o bien llamarla así: $GLOBALS[‘variable’]. Al hacer esto estas variables actúan de forma global y en la función en la que hemos declarado que es global. Esto lo podemos ver en los siguientes ejemplos:

Con global:

<?php
$a=15; // variable global
$b=74; // variable global
function prueba2()
{
global $a,$b;
$b=$a+$b;
}
prueba2();
echo $b; // obtenemos 89
?>

Con $GLOBALS[‘variable’]:

<?php
$a=15; // variable global
$b=74; // variable global
function prueba3()
{
$GLOBALS['b']=$GLOBALS['a']+$GLOBALS['b'];
}
prueba3();
echo $b; // obtenemos 89
?>

Publicado por

victor

Hola!. Me llamo Víctor y soy Ingeniero Agrónomo de formación y programador web de profesión (desde el año 2006). Por otra parte me gusta, entre otras aficiones, el senderismo, jugar al futbol y al FIFA en la PS4. Te animo a participar en mi web www.biolucas.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

CommentLuv badge