怎么搞定PHP超級全局變量

本篇內(nèi)容主要講解“怎么搞定PHP超級全局變量”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么搞定PHP超級全局變量”吧!

襄城網(wǎng)站建設公司創(chuàng)新互聯(lián),襄城網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為襄城千余家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設公司要多少錢,請找那個售后服務好的襄城做網(wǎng)站的公司定做!

怎么搞定PHP超級全局變量

PHP超級全局變量

在函數(shù)外部定義的全局變量是不能在函數(shù)內(nèi)部引用的,但是有些時候卻需要在函數(shù)內(nèi)使用這些全局變量,這時候就要用到超級全局變量,超級全局變量是可以再函數(shù)內(nèi)部引用的。

PHP中預定義了幾個超級全局變量 ,這也就是說它們在一個腳本的全部的作用域中都可以被引用。 不需要特別說明,超級全局變量就可以在函數(shù)及類中使用。

PHP超級全局變量

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $_FILES

  • $_ENV

  • $_COOKIE

  • $_SESSION

今天我們先來看一下幾個在日常使用中常用到的超級全局變量,接下來我們通過一些實例來看一下,這些超級全局變量的一些用法和特點。

首先,我們先來看:

PHP $GLOBALS

$GLOBALS 是一個預定義的超全局數(shù)組,其中包含了全局作用域中的所有可用變量,變量的名字就是數(shù)組的鍵。$GLOBALS在一個PHP腳本的全部作用域中都可以訪問。

示例如下:

<?php 
//定義兩個全局變量,函數(shù)內(nèi)部不可以訪問
$a = 75; 
$b = 25;
//定義函數(shù)
function addition() 
{ 
//將全局變量變?yōu)槌壢肿兞?,這樣在函數(shù)內(nèi)部就可以正常訪問了
$GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b']; 
}
//調(diào)用函數(shù)
addition();
//輸出函數(shù)內(nèi)部定義的全局變量 
echo $c; 
?>

輸出結果:

怎么搞定PHP超級全局變量

$GLOBALS 不限定必須在函數(shù)內(nèi)部使用,在程序的任意位置都能使用。由上述示例看得出,全局變量變?yōu)槌壢肿兞?,這樣在函數(shù)內(nèi)部就可以正常訪問了。

global

還有一個與$GLOBALS 很類似的叫 global 關鍵字,它也可以讓我們在函數(shù)內(nèi)部使用在函數(shù)外部定義的全局變量。

語法格式如下:

global 變量1, 變量2, ...

global 關鍵字后面可以和多個變量作為參數(shù),多個變量之間以“,”(逗號)分隔。同時,使用global要注意一些關鍵點:

  • global 關鍵字,不能在函數(shù)外部使用,只能在函數(shù)內(nèi)部使用;

  • global 關鍵字只能用來引用函數(shù)外部的全局變量,在引用時不能直接賦值,賦值和聲明語句需要分開寫;

  • 在函數(shù)內(nèi)部銷毀一個使用 global 關鍵字修飾的變量時,函數(shù)外部的變量不受影響。

示例如下:

<?php
    $a = 1;
    $b = 2;
    $c = 3;
    function demo(){
        global $a, $b;
        echo "變量 a:".$a;
        echo "<br>變量 b:".$b;
        echo "<br>變量 c:".$c;
    }
    demo();
?>

在上述例子中,定義了三個變量,但是在函數(shù)內(nèi)global關鍵字只修飾了兩個變量,那輸出結果會有什么影響呢?

輸出結果:

怎么搞定PHP超級全局變量

可以看出,結果只輸出了變量a和b的,因為global關鍵字只在函數(shù)內(nèi)修飾了兩個,所以變量c沒有使用成功。

通過兩個例子我們能夠看出與 global 相比,$GLOBALS 有一下幾點不同:

  • global $ 指的是對函數(shù)外部同名變量的引用,是兩個互不影響的變量,而 $GLOBALS[] 指的是函數(shù)外部變量本身,是一個變量。

  • $GLOBALS 不限定必須在函數(shù)內(nèi)部使用,在程序的任意位置都能使用。

PHP $_SERVER

PHP $_SERVER準確來說是一個數(shù)組,$_SERVER 包含了頭信息、路徑、以及腳本位置等等信息。這個數(shù)組中的項目由 Web 服務器創(chuàng)建。服務器可能會忽略一些,不一定每個服務器都提供全部項目。

接下來給大家舉個例子如何使用PHP $_SERVER:

<?php 
//輸出當前腳步的文件名
echo "<h4>輸出當前腳步的文件名</h4>";
echo $_SERVER['PHP_SELF'];
echo "<hr/>";
//當前腳步所在服務器的主機名
echo "<h4>當前腳步所在服務器的主機名</h4>";
echo $_SERVER['SERVER_NAME'];
echo "<hr/>";
//當前請求頭中 Host
echo "<h4>當前請求頭中 Host</h4>";
echo $_SERVER['HTTP_HOST'];
echo "<hr/>";
//引導用戶代理到當前頁的前一頁的地址(如果存在)
echo "<h4>引導用戶代理到當前頁的前一頁的地址(如果存在)</h4>";
echo $_SERVER['HTTP_REFERER'];
echo "<hr/>";
//用來檢查瀏覽頁面的訪問者在用什么操作系統(tǒng)
echo "<h4>用來檢查瀏覽頁面的訪問者在用什么操作系統(tǒng)</h4>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<hr/>";
//包含當前腳本的路徑
echo "<h4>包含當前腳本的路徑</h4>";
echo $_SERVER['SCRIPT_NAME'];
?>

輸出結果

怎么搞定PHP超級全局變量

給大家分享一下, 更多$_SERVER 變量中的重要元素:

  • $_SERVER['PHP_SELF']---當前執(zhí)行腳本的文件名,與 document root 有關。

  • $_SERVER['GATEWAY_INTERFACE']---服務器使用的 CGI 規(guī)范的版本。

  • $_SERVER['SERVER_ADDR']---當前運行腳本所在的服務器的 IP 地址。

  • $_SERVER['SERVER_NAME']---當前運行腳本所在的服務器的主機名。

  • $_SERVER['SERVER_SOFTWARE']---服務器標識字符串,在響應請求時的頭信息中給出。

  • $_SERVER['SERVER_PROTOCOL']---請求頁面時通信協(xié)議的名稱和版本。

  • $_SERVER['REQUEST_METHOD']---訪問頁面使用的請求方法。

  • $_SERVER['REQUEST_TIME']---請求開始時的時間戳。從 PHP 5.1.0 起可用。

  • $_SERVER['QUERY_STRING']---query string(查詢字符串),如果有的話,通過它進行頁面訪問。

  • $_SERVER['HTTP_ACCEPT']---當前請求頭中 Accept: 項的內(nèi)容,如果存在的話。

  • $_SERVER['HTTP_ACCEPT_CHARSET']---當前請求頭中 Accept-Charset: 項的內(nèi)容,如果存在的話。

  • $_SERVER['HTTP_HOST']---當前請求頭中 Host: 項的內(nèi)容,如果存在的話。

  • $_SERVER['HTTP_REFERER']---引導用戶代理到當前頁的前一頁的地址(如果存在)。

  • $_SERVER['HTTPS']---如果腳本是通過 HTTPS 協(xié)議被訪問,則被設為一個非空的值。

  • $_SERVER['REMOTE_ADDR']---瀏覽當前頁面的用戶的 IP 地址。

  • $_SERVER['REMOTE_HOST']---瀏覽當前頁面的用戶的主機名。DNS 反向解析不依賴于用戶的 REMOTE_ADDR。

  • $_SERVER['REMOTE_PORT']---用戶機器上連接到 Web 服務器所使用的端口號。

  • $_SERVER['SCRIPT_FILENAME']---當前執(zhí)行腳本的絕對路徑。

  • $_SERVER['SERVER_ADMIN']---該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數(shù)。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值。

  • $_SERVER['SERVER_PORT']---Web 服務器使用的端口。默認值為 "80"。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。

  • $_SERVER['SERVER_SIGNATURE']---包含了服務器版本和虛擬主機名的字符串。

  • $_SERVER['PATH_TRANSLATED']---當前腳本所在文件系統(tǒng)(非文檔根目錄)的基本路徑。這是在服務器進行虛擬到真實路徑的映像后的結果。

  • $_SERVER['SCRIPT_NAME']---包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 常量包含當前腳本(例如包含文件)的完整路徑和文件名。

  • $_SERVER['SCRIPT_URI']---URI 用來指定要訪問的頁面。例如 "/index.html"。

到此,相信大家對“怎么搞定PHP超級全局變量”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

本文標題:怎么搞定PHP超級全局變量
網(wǎng)站鏈接:http://muchs.cn/article32/johdsc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、搜索引擎優(yōu)化用戶體驗、網(wǎng)站設計、品牌網(wǎng)站建設、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化