Ámbit de les variables
L’àmbit d’una variable és el context dins del qual està definida.
Variables globals
Les variables globals están disponibles en l'ámbit global, i en tots els ámbits a través de l'array $GLOBALS
.
<?php
$a = 1;
$b = 2;
echo $GLOBALS["a"];
include
L'àmbit d'una variable tambè inclou els fitxers que s'integrin al script mitjançant
les funcions include
i required
.
Per exemple, en aquest script la varible $a
estarà disponible dins de l'execuciṕ
de b.inc
.
index.php
<?php
$a = 1;
include 'cap.php';
?>
cap.php
echo $a;
Equival a:
<?php
$a = 1;
echo $a;
?>
ACTIVITAT
Si teniu un fitxer comú
cap.php
, com li passerieu el títol que ha de mostrar la pàgina? Feu-ho.
Variables locals
Qualsevol variable que s’utilitza dins d’una funció està limitada per defecte a l’àmbit local de la funció local.
Per tant, aquest script no produirà cap sortida:
<?php
$a = 1; /* àmbit global */
function test()
{
echo $a; /* reference to local scope variable */
}
test();
?>
Accés a una variable global desde un ámbit local
Si vols utilitzar una variable global dins d'una funció, pots utilitza l'array $GLOBALS
.
Tamè pots declarar la variable com a global
perquè PHP sàpiga que t'estàs referint a una variable declarada en l'àmbit global.
<?php
$a = 1;
$b = 2;
function Sum()
{
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
?>
ACTIVITAT
Comproba que el resultat serà 3.
A més, les variables superglobals no necessiten que es declarin com a global
per poder ser accedides dins d'un àmbit local.
<?php
function test()
{
echo $_POST['name'];
}
?>