PHP中的超級變數

2022-08-26 04:03:07 字數 1974 閱讀 3021

超級變數,又名超級全域性變數,是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 上傳檔案...