1、PHP中沒有全局靜態變量這一說法
以前做.NET開發,可以用如下的方法去緩存一些數據:
view plaincopy to clipboardprint?public class Test {
private static int Count = 0; //該變量在整個應用程序中都有效。
}
public class Test{
private static int Count = 0; //該變量在整個應用程序中都有效。
}
而PGP是一種解釋型的語言,雖然有static修飾符,但意思與.NET中的完全不一樣。
即使把類中的一個變量聲明為static,這個變量也只在當前頁面級的應用程序域中有效。
2、理解變量作用域
在方法體外聲明的變量,在方法體內是訪問不到的。
如:
view plaincopy to clipboardprint?$url = "www.51cto.com";
function _DisplayUrl() {
echo $url;
}
function DisplayUrl() {
global $url;
echo $url;
}
_DisplayUrl();
DisplayUrl();
?>
$url = "www.51cto.com";
function _DisplayUrl() {
echo $url;
}
function DisplayUrl(){
global $url;
echo $url;
}
_DisplayUrl();
DisplayUrl();
?>
_DisplayUrl方法是不會顯示任何結果,因為變量$url在方法體_DisplayUrl中是無法訪問的,在$url前加上global即可,如DisplayUrl方法。
在方法體中定義的global變量可以在方法體外訪問:
view plaincopy to clipboardprint?function _DisplayUrl() {
global $myName;
$myName='yibin';
}
_DisplayUrl();
echo $myName; //output yibin
?>
您正在閱讀的是《PHP網站開發中的變量作用域》