PHP預定義超全局數(shù)組變量小結(jié)
本文實例講述了PHP預定義超全局數(shù)組變量。分享給大家供大家參考,具體如下:
1.PHP 預定義的超全局變量數(shù)組
特性:
a.特殊的數(shù)組,操作方式?jīng)]有區(qū)別
b.不用聲明,php腳本中默認存在,因為在php中不用定義,所以在自定義變量是應避免和預定的全局變量同名
c.在全局范圍內(nèi)自動生效,即在函數(shù)中直接就可以使用,不用使用global關(guān)鍵字訪問
2.超全局變量數(shù)組
a.$_SERVER
服務器變量
$_SERVER 是一個包含諸如頭部信息,路徑和腳本位置的數(shù)組
示例:
foreach($_SERVER as $key => $value){ echo '$_SERVER['+.$key+']='.$value.'<br>'; }
b.$_ENV
環(huán)境變量
$_ENV 數(shù)組中的內(nèi)容是在PHP解析器運行時,從PHP所在服務器中環(huán)境變量轉(zhuǎn)變?yōu)镻HP全局變量
示例:
foreach($_ENV as $key => $value){ echo '$_ENV['+.$key+']'.$value.'<br>'; }
c.$_GET
Url GET 變量
$_GET 數(shù)組也是超全局變量數(shù)組,通過Url Get 方法傳遞的變量組成數(shù)組,它屬于外部變量,即在服務器頁面中通過$_GET超全局數(shù)組Url 或表單GET方式傳遞過來的參數(shù)
示例:
http://www.xxx.com/index.php?id=1&name=lin
echo 'Id='.$_GET['id'].'<br>'; echo 'Name='.$_GET['name'].'<br>';
或者:
print_r($_GET);
d.$_POST
HTTP POST 變量
$_POST 數(shù)組是通過HTTP POST 方法傳遞的變量組成數(shù)組 $_POST 和$_GET 數(shù)組之一都可以保存表單提交的變量
示例:
<form action='save.php' method='post'> <input type='text' name='name'/> <input type='text' name='id'/> </form>
foreach($_POST as $key=>$value){ echo $key.'='$value.'<br>'; }
e.$_REQUEST
request變量
此關(guān)聯(lián)數(shù)組包含$_GET $_POST 和$_COOKIE 中全部內(nèi)容 如果表單時通過form 的post 提交的就通過$_POST 獲取,通過GET方式發(fā)送就用$_GET 方式獲取。$_REQUEST不用關(guān)注是POST 或者GET ,即$_REQUEST 可以獲取get 或post的數(shù)據(jù)但是速度慢。
f.$_FILES
HTTP 文件上傳變量
使用表單file輸入域上傳文件時,必須使用post方式提交但在服務器端不能通過$_post 文件獲取而是通過$_FILES來獲取$_FILES是一個二維數(shù)組,包含5個子元素。
g.$_COOKIE
HTTP cookies
$_COOKIE 超全局數(shù)組是經(jīng)HTTP cookies方法提交至腳本變量,通過這些cookies 是由以前執(zhí)行的PHP腳本通過setCookie()
函數(shù)設(shè)置到客戶端的瀏覽器,php腳本從客戶端獲取cookie后將會自動轉(zhuǎn)換成一個變量,可以通過$_COOKIE 超全局數(shù)組和cookies的名稱來存取指定cookie值。
h.$_SESSION
session 變量
會話控制是在服務端使用session跟蹤用戶,當服務端頁面中使用session_start()
函數(shù)開啟session后,就可以使用$_SESSION數(shù)組主機全局變量。
i.$GLOBALS
global
$GLOBALS 是由所以定義的全局變量組成的數(shù)組,變量名就是該數(shù)組的索引,在所有腳本中都有效,在函數(shù)或?qū)ο笾械姆椒ㄖ胁恍枰褂藐P(guān)鍵字global訪問,在函數(shù)外部聲明全局變量,可以使用$_GLOBALS 數(shù)組替代global 關(guān)鍵字
示例:
$a=1;$b=2; function $sum(){ $GLOBALS['b']=$GLOBALS['a']+$GLOBALS['b']; } $sum(); echo $b;
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP中將字符串轉(zhuǎn)化為整數(shù)(int) intval() printf() 性能測試
早在Sql注入橫行的前幾年,字符串轉(zhuǎn)化為整數(shù)就已經(jīng)被列為每個web程序必備的操作了。web程序?qū)et或post來的id、整數(shù)等值強制經(jīng)過轉(zhuǎn)化函數(shù)轉(zhuǎn)化為整數(shù),過濾掉危險字符,盡可能降低系統(tǒng)本身被Sql注入的可能性2012-03-03PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析
這篇文章主要介紹了PHP中使用addslashes函數(shù)轉(zhuǎn)義的安全性原理分析,較為深入的分析了addslashes函數(shù)的用法及ecshop自定義函數(shù)addslashes_deep的不足之處,非常具有實用價值,需要的朋友可以參考下2014-11-11PHP獲取數(shù)組中某元素的位置及array_keys函數(shù)應用
獲取數(shù)組中一元素的位置有很多方法,其中PHP自身就已經(jīng)內(nèi)置了一個函數(shù)array_keys(),下邊的代碼能夠打印出所有PHP的內(nèi)置函數(shù),感興趣的朋友可以了解下同時學習一下函數(shù)array_keys()的使用方法,就當鞏固知識量啦2013-01-01