PHPにおけるglobalと$GLOBALSの違い
コンセプト
単一の
詳細:PHPがグローバル変数を解放する際の注意事項
global $var :
$GLOBALS['var'] :
単一の
global
は
であり、通常は
のために変数の前に付加される.$GLOBALS
は予め定義された
で、変数を中に投げ込むと同じようにグローバルに持ち込むことができます.$GLOBALS
は関連配列であり、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応する.$GLOBALSがグローバル範囲内に存在するのは、$GLOBALSが超グローバル変数であるためである.詳細:PHPがグローバル変数を解放する際の注意事項
global $var :
$GLOBALS['var'] :
$a = 100;
function one(){
global $a;
unset($a);
}
one();
echo $a;
// 100
/*******************************/
$a = 100;
function two(){
unset($GLOBALS['a']);
}
two();
echo $a;
// Notice: Undefined variable: a
global $var;
は、$var = &$GLOBALS['var'];
が関数内でグローバル変数を解放することに等価であり、unset($GLOBALS['var']);
であり、そうではない:global $var; unset($var);