$GLOBALS
——引用全局做用域中可用的所有變量。html
$GLOBALS
一個包含了所有變量的全局組合數組。變量的名字就是數組的鍵。(即全部出現過的全局變量,均可經過$GLOBALS獲取到)數組
註釋: 「Superglobal」也稱爲自動化的全局變量。這就表示其在腳本的全部做用域中都是可用的,不須要在函數或方法中用global $variable;來訪問它。
與全部其餘超全局變量不一樣,$GLOBALS在PHP中老是可用的。
在PHP中,定義在函數體外的全局變量,函數內部是不能直接獲取的,因此須要global聲明或者$GLOBALS[]來獲取。函數
$GLOBALS
和 global
的區別:spa
下面一個簡單的例子說明:指針
$a = 1; $b = 2; function Test1(){ echo $a; //輸出 :Notice: Undefined variable: a global $a; echo $a; //輸出: 1 unset($a); } Test1(); echo $a; // 輸出:1 function Test2(){ echo $GLOBALS['a']; //輸出: 1 unset($GLOBALS['a']); } Test2(); echo $a;//輸出:Notice: Undefined variable: a
$GLOBALS
和 global
的相同點:code
例子:htm
global $a; $a = 1; function Test3(){ echo $a; //輸出:Notice: Undefined variable: a } Test3(); $GLOBALS['b'] = 2; function Test4(){ echo $b; //輸出:Notice: Undefined variable: b } Test4();