PHP全域性變數global與 GLOBAL詳解

2021-10-04 21:30:19 字數 3014 閱讀 3161

一、乙個全域性變數相當於有3個變數,

函式外部的變數,函式內部的變數,及$global的超全域性變數

。 $global是全域性唯一的,而$var在為全域性變數的別名。

二、無論函式內部外部,只要曾經宣告過全域性變數,則$global為全域性的,無需再次宣告

三、在函式內部unset  $var1 不會影響外部的變數,以及$global['var1']。

在函式內部的變數 global $var1 應是全域性變數在函式內的乙個別名。

四、在函式外部unset($var1),$global['var1']依然存在。

五、在函式外部unset($globals['var1']) 後,$var1仍然存在;

六、如果在函式外部宣告乙個全域性變數global $var,則$global['var'] 指向同一位址。

但是函式內部的$var 與其沒有關係,除非使用global傳遞進來。

七、如果在函式內部宣告乙個全域性變數global $var,則$global['var'] 指向同一位址。但是外部的 $var 與其沒有關係,除非使用global 傳遞過來。

需要在外部用global宣告,同時在函式內部進行宣告,否則在函式內部會當區域性變數。

2、在外部不用global則外部的就是不是全域性變數,無法在函式內部使用:

內部用了關鍵字global,在內部或外部$global['var1']、$global['var2]均為全域性變數;

3、注釋函式內部的global,則變數$var1 $var2 在函式內部的為區域性變數,與外部互補干涉。則$globals為全域性變數;

當不用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,其它變數的值均為變化。

需要在外部用global宣告,同時在函式內部進行宣告,否則在函式內部會當區域性變數。

2、在外部不用global則外部的就是不是全域性變數,無法在函式內部使用:

內部用了關鍵字global,在內部或外部$global['var1']、$global['var2]均為全域性變數;

3、注釋函式內部的global,則變數$var1 $var2 在函式內部的為區域性變數,與外部互補干涉。則$globals為全域性變數;

當不用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詳解

總結 a 1全域性變數相當於有3個變數,函式外部的變數,函式內部的變數,及 global的超全域性變數。global是全域性唯一的,而 var在為全域性變數的別名。b 無論函式內部外部,只要曾經宣告過全域性變數,則 global為全域性的,無需再次宣告 c 在函式內部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...