淺析php中常量,變量的作用域和生存周期
在PHP腳本中變量主要有:內(nèi)置超級(jí)全局變量,一般的變量,常量,全局變量,靜態(tài)變量等等,我們?cè)谑褂盟鼈兊臅r(shí)候除了要正確地知道它們的語法以外,更重要的是,我們要知道它們?cè)诒举|(zhì)上的區(qū)別與聯(lián)系—即它們的作用域的問題。
1.內(nèi)置超級(jí)全局變量可以在腳本的任何地方使用和可見。即是說,如果我們?cè)谝粋€(gè)PHP頁面中改變了其中的一個(gè)值,那么在其他PHP頁面中使用時(shí),它的值也會(huì)發(fā)生改變。
2.常量一旦被聲明將可以在全局可見,也就是說,它們可以函數(shù)內(nèi)外使用,但是這僅僅限于一個(gè)頁面之中(包含我們通過include和include_once)包含進(jìn)來的PHP腳本,但是在其他的頁面之中就不能使用了。
3.在一個(gè)腳本中聲明的全局變量在整個(gè)腳本中是可見的,但不是在函數(shù)內(nèi)部,在函數(shù)內(nèi)部的變量如果與全局變量名稱相同,以函數(shù)內(nèi)部的變量為準(zhǔn)。
4.函數(shù)內(nèi)部使用的變量聲明為全局變量時(shí),其名稱要與全局變量的名稱一致,在這樣的情況下,我們就可以在函數(shù)中使用函數(shù)外部的全局變量了,這樣就可以避免上一種因?yàn)楹瘮?shù)內(nèi)部的變量與外部的全局變量名稱相同而覆蓋了外部變量這樣的情況。
5.在函數(shù)內(nèi)部創(chuàng)建并聲明為靜態(tài)的變量無法在函數(shù)外部可見,但是可以在函數(shù)的多次執(zhí)行過程中保持該值,最常見的情況就是在函數(shù)的遞歸執(zhí)行的過程之中。
6.在函數(shù)內(nèi)部創(chuàng)建的變量對(duì)函數(shù)來說是本地的,而當(dāng)函數(shù)終止時(shí),該變量也就不存在了。
超級(jí)全局變量的完整列表如下:
1.$GOBALS 所有全局變量數(shù)組
2.$_SERVER 服務(wù)器環(huán)境變量數(shù)組
3.$_POST 通過POST方法傳遞給該腳本的變量數(shù)組
4.$_GET 通過GET方法傳遞給該腳本的變量數(shù)組
5.$_COOKIE cookie變量數(shù)組
6.$_FILES 與文件上傳相關(guān)的變量數(shù)組
7.$ENV 環(huán)境變量數(shù)組
8.$_REQUEST 所有用戶輸入的變量數(shù)組包括$_GET $_POST $_COOKIE 所包含的輸入內(nèi)容
9.$_SESSION 會(huì)話變量數(shù)組
我們要注意的是:變量和常量另一個(gè)重要的差異是:常量只可以定義boolean(布爾型),integer(整型),float(浮點(diǎn)型) 和 string(字符串型)數(shù)據(jù),但不能定義 resource類型的數(shù)據(jù)。
相關(guān)文章
php+xml實(shí)現(xiàn)在線英文詞典之添加詞條的方法
這篇文章主要介紹了php+xml實(shí)現(xiàn)在線英文詞典之添加詞條的方法,接著上一篇的通過英文查詢漢字進(jìn)一步完善了詞條的添加功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01PHP實(shí)現(xiàn)抓取百度搜索結(jié)果頁面【相關(guān)搜索詞】并存儲(chǔ)到txt文件示例
這篇文章主要介紹了PHP實(shí)現(xiàn)抓取百度搜索結(jié)果頁面【相關(guān)搜索詞】并存儲(chǔ)到txt文件,涉及php基于curl的頁面抓取及正則匹配相關(guān)操作技巧,需要的朋友可以參考下2018-07-07PHP實(shí)現(xiàn)刪除非站內(nèi)外部鏈接實(shí)例代碼
一般在做網(wǎng)站系統(tǒng)的時(shí)候,出于優(yōu)化等因素的考慮需要再添加文章的時(shí)候刪除掉不是本站的鏈接,對(duì)于這一要求可以通過讓PHP處理下文章內(nèi)容,來達(dá)到文章外部鏈接的自動(dòng)刪除的效果。需要的朋友可以參考下2014-06-06淺析is_writable的php實(shí)現(xiàn)
本篇文章是對(duì)is_writable的php實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP對(duì)象的淺復(fù)制與深復(fù)制的實(shí)例詳解
這篇文章主要介紹了PHP對(duì)象的淺復(fù)制與深復(fù)制的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10php中如何判斷一個(gè)網(wǎng)頁請(qǐng)求是ajax請(qǐng)求還是普通請(qǐng)求
以下是對(duì)php中如何判斷一個(gè)網(wǎng)頁請(qǐng)求是ajax請(qǐng)求還是普通請(qǐng)求的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-0830 個(gè)很棒的PHP開源CMS內(nèi)容管理系統(tǒng)小結(jié)
本文匯集了30個(gè)優(yōu)秀的開源CMS建站系統(tǒng),采用PHP開發(fā)。以下列表不分先后順序2011-10-10php中實(shí)現(xiàn)精確設(shè)置session過期時(shí)間的方法
這篇文章主要介紹了php中實(shí)現(xiàn)精確設(shè)置session過期時(shí)間的方法,需要的朋友可以參考下2014-07-07