在PHP中,超全局變量是在每個函數或方法之外定義的。這些變量在整個腳本范圍內都是可用的,可以在任何地方訪問。以下是一些常見的PHP超全局變量:
$GLOBALS
:這是一個關聯數組,包含了全局作用域中所有的變量。你可以使用它來訪問其他函數或方法中定義的變量。$variable = "Hello, World!";
$GLOBALS['variable'] = $variable;
echo $GLOBALS['variable']; // 輸出 "Hello, World!"
$_SERVER
:這是一個預定義的全局數組,包含了有關頭、路徑和腳本位置等服務器信息。echo $_SERVER['HTTP_HOST']; // 輸出當前請求的主機名
$_GET
:這是一個預定義的全局數組,包含了通過GET方法傳遞的變量。$variable = "Hello, World!";
$_GET['variable'] = $variable;
echo $_GET['variable']; // 輸出 "Hello, World!"
$_POST
:這是一個預定義的全局數組,包含了通過POST方法傳遞的變量。$variable = "Hello, World!";
$_POST['variable'] = $variable;
echo $_POST['variable']; // 輸出 "Hello, World!"
$_COOKIE
:這是一個預定義的全局數組,包含了通過Cookie傳遞的變量。$variable = "Hello, World!";
$_COOKIE['variable'] = $variable;
echo $_COOKIE['variable']; // 輸出 "Hello, World!"
$_SESSION
:這是一個預定義的全局數組,包含了通過Session傳遞的變量。$variable = "Hello, World!";
$_SESSION['variable'] = $variable;
echo $_SESSION['variable']; // 輸出 "Hello, World!"
$_FILES
:這是一個預定義的全局數組,包含了通過文件上傳傳遞的變量。// 假設有一個HTML表單,允許用戶上傳一個文件
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$file = $_FILES['uploaded_file'];
echo "File name: " . $file['name'] . "<br>";
echo "File tmp name: " . $file['tmp_name'] . "<br>";
}
請注意,雖然這些變量可以在任何地方訪問,但在函數或方法內部使用它們時,不需要使用global
關鍵字。PHP會自動將這些變量視為全局變量。