超級變數,又名超級全域性變數,是php內建的變數,這些變數在**的任意位置都能正常使用
目前,php提供了9種超級變數:
變數名型別
存放的內容
$globals
陣列存放了所有的全域性變數
$_server
陣列請求頭資訊以及伺服器環境資訊
$_get
陣列通過get請求傳遞給伺服器的鍵值對
$_post
陣列通過post請求傳遞給伺服器的鍵值對
$_cookie
陣列cookie陣列
$_request
陣列包含所有$_get
、$_post
、$_cookie
的資料
$_session
陣列session陣列
$_files
陣列與檔案上傳相關的陣列
$_env
陣列環境變數陣列
從上表中可以看出,無論是什麼超級變數,它們的資料型別都是陣列。
上表中的某些超級變數,屬於後面的知識,本文僅講解其中一部分超級變數
這個超級變數很有意思,它裡面存放了所有的全域性變數
在之前的課程中,你學習過全域性變數,全域性變數就是定義在函式體之外的變數
也就是說,當我們建立乙個全域性變數的時候,實際上,就是往超級變數$globals中寫入了乙個資料
舉乙個簡單的例子,看下面的**:
$a = 3;
$b = 'hello';
這段**定義了兩個全域性變數a和b,這兩句**執行後,就相當於向超級變數$globals中,加入了兩個鍵值對:
執行後,$globals陣列的內容:鍵值
a3bhello
既然是這樣,那我們能不能使用超級變數$globals
來訪問全域性變數呢?當然可以!
$a = 3;
$b = 'hello';
echo $globals['a'];//等效於 echo $a,輸出3
echo $globals['b'];//等效於 echo $b,輸出hello
同樣的,我們也可以使用超級變數$globals
來建立全域性變數
$globals['a'] = 3;//等效於 $a = 3
$globals['b'] = 'hello'; //等效於$b = 'hello'
echo $a;//輸出3
echo $b;//輸出hello
該變數中存放的不僅僅是請求頭中的資料,還包含一些客戶端資訊和伺服器資訊
$_server陣列中包含了大量的鍵值對,你可以通過其鍵來取出想要的資訊
如果你不清楚該陣列中究竟包含哪些鍵,有兩種辦法可以幫助你:
查閱php幫助手冊
使用**列印陣列中所有的鍵值對
關於查閱幫助手冊,沒什麼好說的。這裡介紹第二種方式
既然$_server是乙個陣列,那麼你可以使用foreach迴圈列印出該陣列所有的內容:
"en">
<?php
foreach ($_server as $key=>$value)
?>
執行後,就可以在頁面中看到陣列中所有的鍵值對了 PHP超級變數
php超級全域性變數陣列 super global array 又稱為php預定義陣列,是由php引擎內建的,不需要開發者重新定義。在php指令碼執行時,php會自動將一些資料放在超級全域性陣列中。php超級全域性變數列表 get 獲得以get方法提交的變數陣列 post 獲得以post方法提交的變...
php 中的靜態變數和超級全域性變數
靜態變數區別與其他變數之處就是,靜態變數可以在函式結束後仍然保持其值,當再次呼叫該函式時靜態變數不會被清空,在使用靜態變數時有一點需要注意的就是,不能講一表示式的結果在變數定義中賦值,只能被賦予預定義的值 如 static a 0 正確 static b 1 5 是不正確的會報錯 超級全域性變數 所...
php超級全域性變數
php用了那麼久一些基礎東西並不是很了解,今天開始就陸陸續續的學習一下。php中超級全域性變數 globals 所有全域性變數陣列 server 伺服器環境變數陣列 get get傳遞給指令碼的變數陣列 post post傳給指令碼的變數陣列 cookie cookie變數陣列 files 上傳檔案...