PHP中的超級變量


超級變量,又名超級全局變量,是PHP內置的變量,這些變量在代碼的任意位置都能正常使用



9種超級變量

目前,PHP提供了9種超級變量:

變量名 類型 存放的內容
$GLOBALS 數組 存放了所有的全局變量
$_SERVER 數組 請求頭信息以及服務器環境信息
$_GET 數組 通過GET請求傳遞給服務器的鍵值對
$_POST 數組 通過POST請求傳遞給服務器的鍵值對
$_COOKIE 數組 COOKIE數組
$_REQUEST 數組 包含所有$_GET$_POST$_COOKIE的數據
$_SESSION 數組 SESSION數組
$_FILES 數組 與文件上傳相關的數組
$_ENV 數組 環境變量數組

從上表中可以看出,無論是什么超級變量,它們的數據類型都是數組

上表中的某些超級變量,屬於后面的知識,本文僅講解其中一部分超級變量

$GLOBALS

這個超級變量很有意思,它里面存放了所有的全局變量

在之前的課程中,你學習過全局變量,全局變量就是定義在函數體之外的變量

也就是說,當我們創建一個全局變量的時候,實際上,就是往超級變量$GLOBALS中寫入了一個數據

舉一個簡單的例子,看下面的代碼:

$a = 3;
$b = 'hello';

這段代碼定義了兩個全局變量a和b,這兩句代碼運行后,就相當於向超級變量$GLOBALS中,加入了兩個鍵值對:

運行后,$GLOBALS數組的內容:

a 3
b hello

既然是這樣,那我們能不能使用超級變量$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

該變量中存放的不僅僅是請求頭中的數據,還包含一些客戶端信息和服務器信息

$_SERVER數組中包含了大量的鍵值對,你可以通過其鍵來取出想要的信息

如果你不清楚該數組中究竟包含哪些鍵,有兩種辦法可以幫助你:

  1. 查閱PHP幫助手冊
  2. 使用代碼打印數組中所有的鍵值對

關於查閱幫助手冊,沒什么好說的。這里介紹第二種方式

既然$_SERVER是一個數組,那么你可以使用foreach循環打印出該數組所有的內容:

<html lang="en">
<head>
<title>document</title>
<style>
td{border:1px solid gray;}
</style>
</head>
<body>
<table>
<?php
foreach ($_SERVER as $key=>$value){
echo "<tr><td>$key</td><td>$value</td></tr>";
}
?>
</table>
</body>
</html>

運行后,就可以在頁面中看到數組中所有的鍵值對了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM