WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機
PHP變量作用域
來自站長百科
導(dǎo)航: 上一頁 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
在PHP中變量主要有:內(nèi)置超級全局變量,一般的變量,常量,全局變量,靜態(tài)變量等.
- 內(nèi)置超級全局變量可以在腳本的任何地方使用和可見。即如果我們在一個PHP頁面中改變了其中的一個值,那么在其他PHP頁面中使用時,它的值也會發(fā)生改變。
- 常量一旦被聲明將可以在全局可見,也就是說,它們可以函數(shù)內(nèi)外使用,但是這僅僅限于一個頁面之中(包含我們通過include和include_once)包含進來的PHP腳本,但是在其他的頁面中就不能使用了。
- 在一個腳本中聲明的全局變量在整個腳本中是可見的,但不是在函數(shù)內(nèi)部,在函數(shù)內(nèi)部的變量如果與全局變量名稱相同,以函數(shù)內(nèi)部的變量為準(zhǔn)。
- 函數(shù)內(nèi)部使用的變量聲明為全局變量時,其名稱要與全局變量的名稱一致,在這樣的情況下,我們就可以在函數(shù)中使用函數(shù)外部的全局變量了,這樣就可以避免上一種因為函數(shù)內(nèi)部的變量與外部的全局變量名稱相同而覆蓋了外部變量這樣的情況。
- 在函數(shù)內(nèi)部創(chuàng)建并聲明為靜態(tài)的變量無法在函數(shù)外部可見,但是可以在函數(shù)的多次執(zhí)行過程中保持該值,最常見的情況就是在函數(shù)的遞歸執(zhí)行的過程之中。
- 在函數(shù)內(nèi)部創(chuàng)建的變量對函數(shù)來說是本地的,而當(dāng)函數(shù)終止時,該變量也就不存在了。
超級全局變量的完整列表如下:
- .$GOBALS 所有全局變量數(shù)組
- .$_SERVER 服務(wù)器環(huán)境變量數(shù)組
- .$_POST 通過POST方法傳遞給該腳本的變量數(shù)組
- .$_GET 通過GET方法傳遞給該腳本的變量數(shù)組
- .$_COOKIE cookie變量數(shù)組
- .$_FILES 與文件上傳相關(guān)的變量數(shù)組
- .$ENV 環(huán)境變量數(shù)組
- .$_REQUEST 所有用戶輸入的變量數(shù)組包括$_GET $_POST $_COOKIE 所包含的輸入內(nèi)容
- .$_SESSION 會話變量數(shù)組
實例講解:
<?php $a = 4; function sendValue($x) { echo $x; } sendValue($a); ?>
講解: $a定義在函數(shù)外,函數(shù)定義了參數(shù),當(dāng)函數(shù)被調(diào)用時,$a將以參數(shù)的形式被傳遞。因此上面代碼能夠正常運行。
<?php $a = 4; function sendValue() { echo $a; } sendValue(); ?>
講解:當(dāng)函數(shù)被調(diào)用時,$a不能以參數(shù)的形式被傳遞。所以上面代碼不能夠正常運行。