使用靜態區域性變數的原因是它不能被外部使用,但是它的值依然在沒此使用後保留。雖然使用全域性變數可以實現相同的功能,但是它經常會造成意外。
靜態區域性變數的特點:
1.不會隨著函式的呼叫和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次呼叫定義它的函式時,它又可繼續使用,而且儲存了前次被呼叫後留下的值
2.靜態區域性變數只會初始化一次
3.靜態屬性只能被初始化為乙個字元值或乙個常量,不能使用表示式。即使區域性靜態變數定義時沒有賦初值,系統會自動賦初值0(對數值型變數)或空字元(對字元變數);靜態變數的初始值為0。
4.當多次呼叫乙個函式且要求在呼叫之間保留某些變數的值時,可考慮採用靜態區域性變數。雖然用全域性變數也可以達到上述目的,但全域性變數有時會造成意外的***,因此仍以採用區域性靜態變數為宜。
function test()
test(); //2
test(); //3
test(); //4
echo $var; //報錯:notice: undefined variable: var
關於靜態全域性變數:
//全域性變數本身就是靜態儲存方式,所有的全域性變數都是靜態變數
function static_global()
static_global(); //1
static_global(); //2
static_global(); //3
echo $glo . '
'; //3
PHP static靜態區域性變數和靜態全域性變數總結
使用靜態區域性變數的原因是它不能被外部使用,但是它的值依然在每次使用後保留。雖然使用全域性變數可以實現相同的功能,但是它經常會造成意外。靜態區域性變數的特點 1.不會隨著函式的呼叫和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次呼叫定義它的函式時,它又可繼續使用,而且儲存了前次被...
PHP static靜態區域性變數和靜態全域性變數總結
使用靜態區域性變數的原因是它不能被外部使用,但是它的值依然在沒此使用後保留。雖然使用全域性變數可以實現相同的功能,但是它經常會造成意外。靜態區域性變數的特點 1.不會隨著函式的呼叫和退出而發生變化,不過,儘管該變數還繼續存在,但不能使用它。倘若再次呼叫定義它的函式時,它又可繼續使用,而且儲存了前次被...
靜態區域性變數
在區域性變數前加上 static 關鍵字,就成了靜態區域性變數。靜態區域性變數存放在記憶體的全域性資料區。函式結束時,靜態區域性變數不會消失,每次該函式呼叫時,也不會為其重新分配空間。它始終駐留在全域性資料區,直到程式執行結束。靜態區域性變數的初始化與全域性變數類似 如果不為其顯式初始化,則c 自動...