您當(dāng)前位置: 主頁(yè) > 資訊動(dòng)態(tài) > IT知識(shí)庫(kù) >
PHP的變量也是用一個(gè)美元符號(hào)$后跟變量名來表示,并且變量名是大小寫敏感的。我們可以使用字母或者下劃線開頭,后面跟上任意數(shù)量的字母、數(shù)字或下劃線,來定義一個(gè)合法的變量名。但是注意$this是一個(gè)特殊的變量,它不能被賦值。當(dāng)然,我們也可以使用引用變量來給變量賦值,比如$test=&$real。此時(shí)test變量的值是real變量的值。
在PHP中如果你沒有對(duì)變量進(jìn)行賦值的話,他會(huì)初始化為其類型的默認(rèn)值。布爾類型的變量默認(rèn)值是 FALSE,整形和浮點(diǎn)型變量默認(rèn)值是零,字符串型變量默認(rèn)值是空字符串或者數(shù)組變量的默認(rèn)值是空數(shù)組。
PHP也提供了大量的預(yù)定義變量,這是一套附加的預(yù)定數(shù)組,這些數(shù)組變量包含了來自web服務(wù)器,運(yùn)行環(huán)境,和用戶輸入的數(shù)據(jù)。這通常在全局范圍內(nèi)自動(dòng)生效,因此也被稱為自動(dòng)全局變量(autoglobals)或者超全局變量(superglobals)。
在php中沒有用戶自定義全局變量的概念,也就是說,當(dāng)你在函數(shù)外部定義了一個(gè)變量,在函數(shù)里面是不會(huì)自動(dòng)生效的。如果要在函數(shù)內(nèi)使用外部的變量,一定得用global申明。使用全局變量有下面的辦法:
1、在函數(shù)內(nèi)部使用global $a。
2、用$GLOBALS數(shù)組:$GLOBALS['a']。$GLOBALS是一個(gè)關(guān)聯(lián)數(shù)組,鍵名對(duì)應(yīng)變量名,值對(duì)應(yīng)變量的內(nèi)容。他是一個(gè)超全局變量。
靜態(tài)變量在php中也有大量的應(yīng)用,我們用static進(jìn)行聲明,用static進(jìn)行聲明的變量只會(huì)在第一次被調(diào)用時(shí)執(zhí)行,以后該函數(shù)的再次調(diào)用均不執(zhí)行。由于有這樣的特性,我們也可以用他來處理遞歸函數(shù),但是一定要注意保證有充分的方法來中止遞歸。還要注意的是,對(duì)于static聲明靜態(tài)變量要直接賦值嗎如果使用static $int=1+2這樣的會(huì)導(dǎo)致解析錯(cuò)誤。
神奇的可變變量:在php中,我們可以使用兩個(gè)$來定義可變變量,舉個(gè)例子:$a = 'hello';$$a = 'world';那么,$a 的內(nèi)容是“hello”并且 $hello 的內(nèi)容是“world”,也就是說${$a}==$hello.
--- 版權(quán)最終歸艾銻無限所有http://www.richjn.cn/ 如需轉(zhuǎn)載,請(qǐng)標(biāo)明出處。
相關(guān)文章