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