PHP/Programmazione/Variabili globali/$GLOBALS

Wikibooks, manuali e libri di testo liberi.
Indice del libro

L'array associativo $GLOBALS contiene i riferimenti a tutte le variabili locali visibili dalla root. È una variabile superglobale, quindi non c'è bisogno di scrivere global $GLOBALS all'interno di una funzione per potervi accedere:

$variabile = 'Valore della variabile';

function test_globals() {
  echo $GLOBALS['variabile'];
}

test_globals(); // Visualizzerà "Valore della variabile"


$GLOBALS contiene anche i riferimenti agli altri array superglobali:

  • $_GET
  • $_POST
  • $_SERVER
  • $_COOKIE
  • $_SESSION
  • $_FILES
  • $_ENV
  • $_REQUEST
  • $GLOBALS


Si noti che $GLOBALS è ricorsivo, cioè contiene un riferimento a sé stesso; è tecnicamente corretto – sebbene totalmente inutle – accedere a una variabile anche nel seguente modo:


$variabile = 'Valore della variabile';

echo $GLOBALS['GLOBALS']['GLOBALS']['variabile']; // Anche così verrà visualizzato "Valore della variabile"