回覆列表
  • 1 # 肥貓技術生活

    既然問的是真正的全域性變數,這裡就不說global關鍵字了。總的來說php實現全域性變數可以有如下幾種:

    1、作業系統級別的全域性變數

    其實他們也不是真正意義上的超全域性變數,因為他們只在一次請求中認為是全域性的,第二次請求原來的值就改變了,如$_POST等。

    PHP 中的許多預定義變數都是“超全域性的”。這意味著他們在一個指令碼的全部作用域中都可用且可以訪問它們。

    $_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSION

    2、把超全域性變數寫成資料表的一個欄位

    每次請求的時候可以全域性控制。為了效能考慮可以使用mysql表的memory方式建表,等機器重啟了,表也就不存在了。

    3、可以把全域性變數寫入

    ini或json等檔案

    像正常讀寫檔案一樣訪問變數,更改檔案的內容。

    4、可以透過網路方式

    這個就複雜了,如可以建議個專門的伺服器,透過socket、http等方式呼叫,傳入不同的引數,從而讀寫不同的全域性變數,這種方式一般在大型架構中session或使用者資訊中推薦

    當然

    實現真正的全域性變數的方式還有很多。

  • 2 # PP營地

    首先明確一點 php的全域性變數可以分為

    1.自定義的全域性變數

    透過關鍵字 global 宣告變數為全域性變數

    $a =1;function bb(){ global $a;}

    2.系統自帶的全域性變數

    php系統自帶的全域性變數也有很多 ,也是可以去使用的,例如:

    $_SERVER (主要儲存http 請求相關的資訊)$_REQUEST (預設情況下包含了 $_GET,$_POST 和 $_COOKIE 的陣列)$_POST (主要是http POST 請求的引數)$_GET (主要是http GET 請求的引數)$_FILES (主要是http 檔案相關的引數)$_ENV (是一個包含伺服器端環境變數的陣列)$_COOKIE (主要是儲存瀏覽器臨時快取的資訊)$_SESSION (主要是php 服務 會話儲存資訊)
  • 中秋節和大豐收的關聯?
  • 妖尾,龍珠,一拳,火影,聖鬥士,海賊,死神的戰鬥力該怎麼排?