1、PHP中沒有全局靜態(tài)變量這一說法
以前做.NET開發(fā),可以用如下的方法去緩存一些數(shù)據(jù):
view plaincopy to clipboardprint? public class Test { private static int Count = 0; //該變量在整個應(yīng)用程序中都有效。 } public class Test{ private static int Count = 0; //該變量在整個應(yīng)用程序中都有效。 } |
而PGP是一種解釋型的語言,雖然有static修飾符,但意思與.NET中的完全不一樣。
即使把類中的一個變量聲明為static,這個變量也只在當(dāng)前頁面級的應(yīng)用程序域中有效。
2、理解變量作用域
在方法體外聲明的變量,在方法體內(nèi)是訪問不到的。
如:
view plaincopy to clipboardprint? $url = "www.scjtxx.cn"; function _DisplayUrl() { echo $url; } function DisplayUrl() { global $url; echo $url; } _DisplayUrl(); DisplayUrl(); ?> $url = "www.scjtxx.cn"; function _DisplayUrl() { echo $url; } function DisplayUrl(){ global $url; echo $url; } _DisplayUrl(); DisplayUrl(); ?> |
_DisplayUrl方法是不會顯示任何結(jié)果,因為變量$url在方法體_DisplayUrl中是無法訪問的,在$url前加上global即可,如DisplayUrl方法。
在方法體中定義的global變量可以在方法體外訪問:
view plaincopy to clipboardprint? function _DisplayUrl() { global $myName; $myName='yibin'; } _DisplayUrl(); echo $myName; //output yibin ?> |
您正在閱讀的是《PHP網(wǎng)站開發(fā)中的變量作用域》
【編輯推薦】
- PHP開發(fā)者:你GLAMMP了嗎?
- 10段PHP常用功能代碼
- PHP實現(xiàn)文件上傳的思路及實例