php的超全局變量在哪里定義

PHP
小樊
81
2024-10-13 11:37:29

在PHP中,超全局變量是在每個(gè)函數(shù)或方法之外定義的。這些變量在整個(gè)腳本范圍內(nèi)都是可用的,可以在任何地方訪問(wèn)。以下是一些常見(jiàn)的PHP超全局變量:

  1. $GLOBALS:這是一個(gè)關(guān)聯(lián)數(shù)組,包含了全局作用域中所有的變量。你可以使用它來(lái)訪問(wèn)其他函數(shù)或方法中定義的變量。
$variable = "Hello, World!";
$GLOBALS['variable'] = $variable;
echo $GLOBALS['variable']; // 輸出 "Hello, World!"
  1. $_SERVER:這是一個(gè)預(yù)定義的全局?jǐn)?shù)組,包含了有關(guān)頭、路徑和腳本位置等服務(wù)器信息。
echo $_SERVER['HTTP_HOST']; // 輸出當(dāng)前請(qǐng)求的主機(jī)名
  1. $_GET:這是一個(gè)預(yù)定義的全局?jǐn)?shù)組,包含了通過(guò)GET方法傳遞的變量。
$variable = "Hello, World!";
$_GET['variable'] = $variable;
echo $_GET['variable']; // 輸出 "Hello, World!"
  1. $_POST:這是一個(gè)預(yù)定義的全局?jǐn)?shù)組,包含了通過(guò)POST方法傳遞的變量。
$variable = "Hello, World!";
$_POST['variable'] = $variable;
echo $_POST['variable']; // 輸出 "Hello, World!"
  1. $_COOKIE:這是一個(gè)預(yù)定義的全局?jǐn)?shù)組,包含了通過(guò)Cookie傳遞的變量。
$variable = "Hello, World!";
$_COOKIE['variable'] = $variable;
echo $_COOKIE['variable']; // 輸出 "Hello, World!"
  1. $_SESSION:這是一個(gè)預(yù)定義的全局?jǐn)?shù)組,包含了通過(guò)Session傳遞的變量。
$variable = "Hello, World!";
$_SESSION['variable'] = $variable;
echo $_SESSION['variable']; // 輸出 "Hello, World!"
  1. $_FILES:這是一個(gè)預(yù)定義的全局?jǐn)?shù)組,包含了通過(guò)文件上傳傳遞的變量。
// 假設(shè)有一個(gè)HTML表單,允許用戶上傳一個(gè)文件
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $file = $_FILES['uploaded_file'];
    echo "File name: " . $file['name'] . "<br>";
    echo "File tmp name: " . $file['tmp_name'] . "<br>";
}

請(qǐng)注意,雖然這些變量可以在任何地方訪問(wèn),但在函數(shù)或方法內(nèi)部使用它們時(shí),不需要使用global關(guān)鍵字。PHP會(huì)自動(dòng)將這些變量視為全局變量。

0