本篇內(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)站的公司定做!
在函數(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; ?>
輸出結果:
$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關鍵字只修飾了兩個變量,那輸出結果會有什么影響呢?
輸出結果:
可以看出,結果只輸出了變量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']; ?>
輸出結果
給大家分享一下, 更多$_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)