global變數的理解

2021-10-24 18:05:35 字數 855 閱讀 6617

此函式是定義全域性變數的函式

如果b =

2defa(

):b =

1+ b

return ba()

這個時候程式執行就會報錯,為什麼我不清楚,但是不能直接b = b+

1 但是c=b+

1就可以

如果b=

2def

a(b)

: b =

1+ b

return b

a(b)

這個程式就不會報錯,因為b這個變數已經被匯入

如果b =

2defa(

):global b

b =1+ b

return ba()

這個時候程式也不會報錯,global意思就是說把b這個變數拿到這裡變成全域性變數進行操作

如果defa(

):b =

2global b

b =1+ b

return ba()

這樣也是會報錯的,因為b在這裡是區域性變數,再定義全域性變數自然就會報錯

如果b =

2global

defa()

: b =

1+ b

return ba()

這樣自然也會報錯,因為在外部定義全域性變數,a(

)呼叫壓根就無法呼叫到b

同樣如果

b =2

defa()

:global b

b =1+ b

return ba()

defc()

: b = b *

2return b

這樣也會報錯,必須在每個內部進行定義

PHP全域性變數global與 GLOBAL詳解

總結 a 1全域性變數相當於有3個變數,函式外部的變數,函式內部的變數,及 global的超全域性變數。global是全域性唯一的,而 var在為全域性變數的別名。b 無論函式內部外部,只要曾經宣告過全域性變數,則 global為全域性的,無需再次宣告 c 在函式內部unset var1 不會影響外...

PHP全域性變數global與 GLOBAL詳解

一 乙個全域性變數相當於有3個變數,函式外部的變數,函式內部的變數,及 global的超全域性變數 global是全域性唯一的,而 var在為全域性變數的別名。二 無論函式內部外部,只要曾經宣告過全域性變數,則 global為全域性的,無需再次宣告 三 在函式內部unset var1 不會影響外部的...

41 全域性變數Global

global語句的作用是定義全域性變數,例如如果想在函式內訪問全域性作用域內的變數則可以通過global宣告來定義。下面從語法解釋開始分析。檢視 zend zend language scanner.l檔案,搜尋 global關鍵字。我們可以找到如下 global t global global v...