首頁  >  文章  >  後端開發  >  PHP超全域變數的介紹

PHP超全域變數的介紹

不言
不言原創
2018-07-05 14:06:551612瀏覽

超全域變數 在 PHP 4.1.0 中引入,是在全部作用域中始終可用的內建變數。

超全域變數 超全域變數是在全部作用域中始終可用的內建變數。

PHP 中的許多預定義變數都是“超全域的”,這意味著它們在一個腳本的全部作用域中都可用。在函數或方法中無需執行 global $variable; 就可以存取它們。

這些超全域變數是:

$GLOBALS — # #引用全域作用域中可用的全部變數

#一個包含了全部變數的全域組合#陣列。變數的名字就是數組的鍵。

<?php

function test(){
    $foo = "local variable";
    echo &#39;$foo in global scope:&#39;.$GLOBALS[&#39;foo&#39;].&#39;<br />&#39;;//$foo in global scope:Example content
    echo &#39;$foo in current scope:&#39;.$foo.&#39;<br />&#39;;//$foo in current scope:local variable
    $GLOBALS[&#39;foo&#39;] = &#39;1111&#39;;
    echo &#39;$foo in global scope:&#39;.$GLOBALS[&#39;foo&#39;].&#39;<br />&#39;;//$foo in global scope:1111}
$foo = "Example content";
test();
echo $foo.&#39;<br />&#39;;//1111

#
<?= = ] = $GLOBALS[] + $GLOBALS[];.$b.;

global的作用是定義全域變數,但是這個全域變數不是應用於整個網站,而是應用於目前頁面,包括include或require的所有檔案。但是函數體內定義的global變數,函數體內可以使用,在函數體外定義的global變數不能在函數體內使用,具體看下面範例。

(1)在函數體內定義global變量,函數體內可以使用。

<?php

$a = 1;
$b = 2;
function sum(){    global $a,$b;//在函数内声明为全局变量
    $b = $a + $b;
}
sum();
echo $a.&#39;---&#39;.$b.&#39;<br />&#39;;//1---3

(2)在函數體外定義global變量,函數體內不可以使用。

$a = 1;global $a;//在函数体外把$a定义为global变量function aa(){
    echo $a;
}
aa();//会报错,不能输出变量

$_SERVER -- $HTTP_SERVER_VARS [已刪除] — 伺服器和執行環境資訊

 是一個包含了諸如頭資訊(header)、路徑(path)、以及腳本位置(script locations)等等資訊的數組。這個數組中的項目是由 Web 伺服器所建立。不能保證每個伺服器都提供全部項目;伺服器可能會忽略一些,或提供一些沒有在這裡列舉出來的項目。

###下表列出了您能夠在 $_SERVER 中存取的最重要的元素:#####描述#$_SERVER['PHP_SELF']傳回目前執行腳本的檔名。 $_SERVER['GATEWAY_INTERFACE']傳回伺服器所使用的 CGI 規範的版本。 $_SERVER['SERVER_ADDR']傳回目前執行腳本所在的伺服器的 IP 位址。 $_SERVER['SERVER_NAME'] 傳回目前執行腳本所在的伺服器的主機名稱。 $_SERVER['SERVER_SOFTWARE']#傳回伺服器識別字串(例如 Apache/2.2.24)。 $_SERVER['SERVER_PROTOCOL']#傳回請求頁面時通訊協定的名稱和版本(例如,「HTTP/1.0」)。 $_SERVER['REQUEST_METHOD']#傳回存取頁面所使用的請求方法(例如 POST)。 $_SERVER['REQUEST_TIME']#傳回請求開始時的時間戳記(例如 1577687494)。 $_SERVER['QUERY_STRING']返回查詢字串,如果是透過查詢字串存取此頁面。 $_SERVER['HTTP_ACCEPT']#傳回來自目前要求的請求頭。 $_SERVER['HTTP_ACCEPT_CHARSET']傳回來自目前要求的Accept_Charset 頭( 例如utf-8,ISO-8859-1)#$_SERVER['HTTP_HOST']傳回來自目前請求的Host 頭。 $_SERVER['HTTP_REFERER']#傳回目前頁面的完整 URL(不可靠,因為不是所有使用者代理程式都支援)。 $_SERVER['HTTPS']是否透過安全 HTTP 協定查詢腳本。 $_SERVER['REMOTE_ADDR']#傳回瀏覽目前頁面的使用者的 IP 位址。 $_SERVER['REMOTE_HOST']#傳回瀏覽目前頁面的使用者的主機名稱。 $_SERVER['REMOTE_PORT']會傳回使用者機器上連接到 Web 伺服器所使用的連接埠號碼。 $_SERVER['SCRIPT_FILENAME']#傳回目前執行腳本的絕對路徑。 $_SERVER['SERVER_ADMIN']該值指明了 Apache 伺服器設定檔中的 SERVER_ADMIN 參數。 $_SERVER['SERVER_PORT']Web 伺服器所使用的連接埠。預設值為 “80”。 $_SERVER['SERVER_SIGNATURE']#傳回伺服器版本和虛擬主機名稱。 $_SERVER['PATH_TRANSLATED']#目前腳本所在檔案系統(非文件根目錄)的基本路徑。 $_SERVER['SCRIPT_NAME']#傳回目前腳本的路徑。 $_SERVER['SCRIPT_URI']#傳回目前頁面的 URI。

<?php

echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($_SERVER);

$_GET -- $HTTP_GET_VARS [已弃用] — HTTP GET 变量

通过 URL 参数传递给当前脚本的变量的数组。

$_POST -- $HTTP_POST_VARS [已弃用] — HTTP POST 变量

当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。

$_FILES -- $HTTP_POST_FILES [已弃用] — HTTP 文件上传变量

通过 HTTP POST 方式上传到当前脚本的项目的数组。

$_COOKIE -- $HTTP_COOKIE_VARS [已弃用] — HTTP Cookies

通过 HTTP Cookies 方式传递给当前脚本的变量的数组。

$_SESSION -- $HTTP_SESSION_VARS [已弃用] — Session 变量

当前脚本可用 SESSION 变量的数组

$_REQUEST — HTTP Request 变量

$_ENV -- $HTTP_ENV_VARS [已弃用] — 环境变量

通过环境方式传递给当前脚本的变量的数组。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

php中imagettfbbox和imagettftext 文字图片自动换行的方法

PHP中的常见魔术方法功能作用及用法

元素/程式碼

以上是PHP超全域變數的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn