您好,登錄后才能下訂單哦!
這篇文章主要講解了“PHP static局部靜態(tài)變量和全局靜態(tài)變量的特點”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP static局部靜態(tài)變量和全局靜態(tài)變量的特點”吧!
靜態(tài)局部變量的特點:
1.不會隨著函數的調用和退出而發(fā)生變化,不過,盡管該變量還繼續(xù)存在,但不能使用它。倘若再次調用定義它的函數時,它又可繼續(xù)使用,而且保存了前次被調用后留下的值
2.靜態(tài)局部變量只會初始化一次
3.靜態(tài)屬性只能被初始化為一個字符值或一個常量,不能使用表達式。即使局部靜態(tài)變量定義時沒有賦初值,系統(tǒng)會自動賦初值0(對數值型變量)或空字符(對字符變量);靜態(tài)變量的初始值為0。
4.當多次調用一個函數且要求在調用之間保留某些變量的值時,可考慮采用靜態(tài)局部變量。雖然用全局變量也可以達到上述目的,但全局變量有時會造成意外的副作用,因此仍以采用局部靜態(tài)變量為宜。
復制代碼 代碼如下:
function test()
{
static $var = 5; //static $var = 1+1;就會報錯
$var++;
echo $var . ' ';
}
test(); //2
test(); //3
test(); //4
echo $var; //報錯:Notice: Undefined variable: var
關于靜態(tài)全局變量:
復制代碼 代碼如下:
//全局變量本身就是靜態(tài)存儲方式,所有的全局變量都是靜態(tài)變量
function static_global(){
global $glo;
$glo++;
echo $glo.'<br>';
}
static_global(); //1
static_global(); //2
static_global(); //3
echo $glo . '<br>'; //3
所以靜態(tài)全局變量使用并不多。
感謝各位的閱讀,以上就是“PHP static局部靜態(tài)變量和全局靜態(tài)變量的特點”的內容了,經過本文的學習后,相信大家對PHP static局部靜態(tài)變量和全局靜態(tài)變量的特點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。