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

search for in the

$_SERVER> <スーパーグローバル
Last updated: Fri, 14 Nov 2008

view this page in

$GLOBALS

$GLOBALSグローバルスコープで使用可能なすべての変数への参照

説明

スクリプトのグローバルスコープに現在定義されているすべての変数への参照を含む連想配列です。 変数名が配列のキーとなります。

例1 $GLOBALS の例

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

上の例の出力は、たとえば 以下のようになります。

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

注意

注意: これは 'スーパーグローバル' あるいは自動グローバル変数と呼ばれるものです。 スクリプト全体を通してすべてのスコープで使用することができます。 関数やメソッドの内部で使用する場合にも global $variable; とする必要はありません。

注意: 変数の可用性
他のスーパーグローバル とは異なり、$GLOBALS は PHP で常に使用可能です。



$_SERVER> <スーパーグローバル
Last updated: Fri, 14 Nov 2008
 
add a note add a note User Contributed Notes
$GLOBALS
Pyornide
16-Oct-2008 09: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 12:47
Though you can use var_dump to output the value of $GLOBALS.
ravenswd at yahoo dot com
12-Aug-2008 08: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> <スーパーグローバル
Last updated: Fri, 14 Nov 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites