PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

$_SERVER> <Superglobals
Last updated: Fri, 14 Nov 2008

view this page in

$GLOBALS

$GLOBALSReferenziert alle Variablen, die im globalen Gültigkeitsbereich vorhanden sind

Beschreibung

Ein assoziatives Array, das Referenzen auf alle Variablen enthält, die derzeit im globalen Gültigkeitsbereich (Scope) des Skripts bekannt sind. Die Namen der jeweiligen Variablen sind die Schlüsselwerte, um auf den Inhalt der jeweils referenzierten Variablen zuzugreifen.

Beispiele

Beispiel #1 $GLOBALS-Beispiel

<?php
function test() {
    
$foo "local variable";

    echo 
'$foo in global scope: ' $GLOBALS["foo"] . "\n";
    echo 
'$foo in current scope: ' $foo "\n";
}

$foo "Example content";
test();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

$foo in global scope: Example content
$foo in current scope: local variable

Anmerkungen

Hinweis: Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet das sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig sie mit global $variable bekannt zu machen um aus Funktionen oder Methoden darauf zuzugreifen.

Hinweis: Verfügbarkeit der Variablen
Im Gegensatz zu allen anderen Superglobals ist $GLOBALS notwendigerweise immer in PHP verfügbar.



$_SERVER> <Superglobals
Last updated: Fri, 14 Nov 2008
 
add a note add a note User Contributed Notes
$GLOBALS
Pyornide
17-Oct-2008 12:43
I strongly recommend against using globals at all possible. It's a bad programming practice, and you're better off using references and passing them on construct to use them in the $this context. If you're worried about parameters, you can simply use an associative array to store any passed variables to it. Overall, the main idea is to avoid using globals.

http://www.phpit.net/article/using-globals-php/

Is a good article detailing other reasons why using the global scope is a very bad idea.
David
14-Aug-2008 03:47
Though you can use var_dump to output the value of $GLOBALS.
ravenswd at yahoo dot com
12-Aug-2008 11:02
Keep in mind that $GLOBALS is, itself, a global variable. So code like this won't work:

<?php
   
print '$GLOBALS = ' . var_export($GLOBALS, true) . "\n";
?>

This results in the error message: "Nesting level too deep - recursive dependency?"

$_SERVER> <Superglobals
Last updated: Fri, 14 Nov 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites