溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP static局部靜態(tài)變量和全局靜態(tài)變量的特點

發(fā)布時間:2021-07-26 18:02:31 來源:億速云 閱讀:231 作者:chen 欄目:開發(fā)技術

這篇文章主要講解了“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)變量的特點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI