PHP static靜態區域性變數和靜態全域性變數

2021-09-24 05:53:44 字數 794 閱讀 2575

使用靜態區域性變數的原因是它不能被外部使用,但是它的值依然在沒此使用後保留。雖然使用全域性變數可以實現相同的功能,但是它經常會造成意外。

靜態區域性變數的特點:

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 自動...