總結:
a:1全域性變數相當於有3個變數,函式外部的變數,函式內部的變數,及$global的超全域性變數。
----$global是全域性唯一的,而$var在為全域性變數的別名。
b:無論函式內部外部,只要曾經宣告過全域性變數,則$global為全域性的,無需再次宣告;
c:在函式內部unset $var1 不會影響外部的變數,以及$global['var1'];
----在函式內部的變數 global $var1 應是全域性變數在函式內的乙個別名,
d:在函式外部unset($var1),$global['var1']依然存在。
e:在函式外部unset($globals['var1']) 後,$var1仍然存在;
---需要在外部用global宣告,同時在函式內部進行宣告,否則在函式內部會當區域性變數。
2、在外部不用global則外部的就是不是全域性變數,無法在函式內部使用:
----內部用了關鍵字global,在內部或外部$global['var1']、$global['var2]均為全域性變數;
3、注釋函式內部的global,則變數$var1 $var2 在函式內部的為區域性變數,與外部互補干涉。則$globals為全域性變數;
4、當不用global時,外部變數無法在函式內使用,內部變數無法影響外部函式,且無$globals可用;
5、unset($globals) 只會unset $globals,函式內部的全域性變數不受影響;
6、在函式內部unset 變數,只是把內部的變數unset掉了。
-----函式內的全域性變數只是乙個全域性變數的別名而已。
7、&引用,就是改變了變數的位址值(變數的引用傳遞)。
--在函式中把$global['var2']指向了 $glabal['var1'],所以在函式內部時均一致;
--在函式外部var1 與 $globals['var1']一致,所以這3個變數一致。全域性變數var1在函式內外時均一致;
--在函式內部的var2 與外部的var2 為同乙個變數,在內外時均一致;
--此時只是把 $globals['var2']的因為修改為了var1,其它變數的值均為變化。
PHP全域性變數global與 GLOBAL詳解
一 乙個全域性變數相當於有3個變數,函式外部的變數,函式內部的變數,及 global的超全域性變數 global是全域性唯一的,而 var在為全域性變數的別名。二 無論函式內部外部,只要曾經宣告過全域性變數,則 global為全域性的,無需再次宣告 三 在函式內部unset var1 不會影響外部的...
全域性變數global與超全域性變數 GLOBALS
出錯行 mysqli query link,select from sys calendar where id id link為連線資料庫,此處為空。解決方法 link不能從global獲取,改為 globals link mysqli query globals link select from ...
41 全域性變數Global
global語句的作用是定義全域性變數,例如如果想在函式內訪問全域性作用域內的變數則可以通過global宣告來定義。下面從語法解釋開始分析。檢視 zend zend language scanner.l檔案,搜尋 global關鍵字。我們可以找到如下 global t global global v...