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

search for in the

$GLOBALS> <Variáveis pré-definidas
[edit] Last updated: Fri, 26 Apr 2013

view this page in

Superglobais

SuperglobaisSuperglobais são variáveis nativas que estão sempre disponíveis em todos escopos

Descrição

Várias variáveis pré-definidas no PHP são "superglobais", que significa que elas estão disponível em todos escopos para todo o script. Não há necessidade de fazer global $variable; para acessá-lo dentro de funções ou métodos.

Estas variáveis superglobais são:

Changelog

Versão Descrição
4.1.0 Superglobais foram introduzidas no PHP.

Notas

Nota: Disponibilidade da variável

Por padrão, todas as superglobais estão disponíveis, mas há diretivas que afetam esta disponibilidade. Para mais informação, consulte na documentação sobre variables_order.

Nota: Lidando com register_globals

Se a obsoleta diretiva register_globals é definida para on então variáveis contidas irão também estar disponíveis no escopo global do script. Por exemplo, $_POST['foo'] também existiria como $foo.

Para informação relacionada, veja o FAQ intitulado "Como register_globals pode afetar?"

Nota: Variável variáveis

Superglobais não podem ser usadas como variável variáveis dentro de função ou métodos de classes.



$GLOBALS> <Variáveis pré-definidas
[edit] Last updated: Fri, 26 Apr 2013
 
add a note add a note User Contributed Notes Superglobais - [3 notes]
up
4
lskatz at gmail dot com
4 years ago
Tibor:
It's not a good idea to use $_ENV unless you are specifying an environmental variable.  This is probably a better example that I found on another page in php.net

<?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();
?>
up
-2
serpent at paradise dot net dot nz
9 months ago
You can go the other way as well i.e.

<?php
function test() {
       
$GLOBALS['foo'] = "Example content";
}

test();
echo
"<p>$foo</p>";
?>

This doesn't appear to be affected by register_globals, I have it switched off.
up
-6
Tibor > rocketmachine.com
4 years ago
You can use superglobals to make your variables available everywhere without declaring them global.

<?php

$_ENV
['mystring'] = 'Hello World';
$_ENV['myarray'] = array('Alpha', 'Bravo', 'Charlie');

function
test() {
    print
$_ENV['mystring'];
   
print_r($_ENV['myarray']);
}

test();

?>

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