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

search for in the

$_SERVER> <Superglobals
[edit] Last updated: Fri, 24 May 2013

view this page in

$GLOBALS

(PHP 4, PHP 5)

$GLOBALSReferences all variables available in global scope

Descrierea

An associative array containing references to all variables which are currently defined in the global scope of the script. The variable names are the keys of the array.

Exemple

Example #1 $GLOBALS example

<?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();
?>

Exemplul de mai sus va afișa ceva similar cu:

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

Note

Notă:

Aceasta este o variabilă 'superglobală', sau globală automată. Aceasta pur și simplu înseamnă că ea este disponibilă în toate circumstanțele pe parcursul script-ului. Nu este nevoie de a scrie global $variable; pentru a o accesa din funcții sau metode.

Notă: Variable availability

Unlike all of the other superglobals, $GLOBALS has essentially always been available in PHP.



$_SERVER> <Superglobals
[edit] Last updated: Fri, 24 May 2013
 
add a note add a note User Contributed Notes $GLOBALS - [5 notes]
up
3
therandshow at gmail dot com
1 year ago
As of PHP 5.4 $GLOBALS is now initialized just-in-time. This means there now is an advantage to not use the $GLOBALS variable as you can avoid the overhead of initializing it. How much of an advantage that is I'm not sure, but I've never liked $GLOBALS much anyways.
up
0
bkilinc at deyta dot net
1 month ago
I prefer accessing globals through static function calls. Source code looks better; I use glb::get('myglobalvar') instead of $GLOBALS['myglobalvar']. This gives me full control over global access, which can be the source of problems in practice.

class glb
{
    static public function set($name, $value)
    {
        $GLOBALS[$name] = $value;
    }

    static public function get($name)
    {
        return $GLOBALS[$name];
    }

}

$myglobalvar = 'Hello, World !';

function myfunction()
{
    $val = glb::get('myglobalvar');
    echo "$val\n";
    glb::set('myglobalvar', 'hi, again :)');
    $val = glb::get('myglobalvar');
    echo "$val\n";
}

myfunction();
up
0
David
4 years ago
Though you can use var_dump to output the value of $GLOBALS.
up
0
ravenswd at yahoo dot com
4 years ago
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?"
up
-4
Gratcy
1 year ago
this is technique that i always did for configuration file..

<?php
$conf
['conf']['foo'] = 'this is foo';
$conf['conf']['bar'] = 'this is bar';

function
foobar() {
    global
$conf;
   
var_dump($conf);
}

foobar();

/*
result is..

array
  'conf' =>
    array
      'foo' => string 'this is foo' (length=11)
      'bar' => string 'this is bar' (length=11)

*/
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites