首頁  >  文章  >  後端開發  >  php靜態變數與自訂常數的差異實例詳解

php靜態變數與自訂常數的差異實例詳解

伊谢尔伦
伊谢尔伦原創
2017-06-29 10:36:461486瀏覽

php 靜態變數與自訂常數的使用方法

⚑ 靜態變數的宣告與使用
⚑ 自訂常數的使用方式

什麼是靜態變數?
靜態變數是指用static宣告的變數,這種變數與局部變數的差異是,當靜態變數離開了它的作用範圍後,它的值不會自動消亡,而是繼續存在,當下次再用到它的時候,可以保留最近一次的值。
下面舉例: 

<?php 
function add() 
{ 
static $i=0; 
$i++; 
echo $i; 
} 
add(); 
echo " "; 
add(); 
?>

這段程式中,主要定義了一個函數add(),然後分兩次呼叫add()。
如果用局部變數的方式來分工這段程式碼,兩次的輸出應該都是1。但實際輸出卻是1和2。
這是因為,變數i在宣告的時候被加上了一個修飾符static,這就標誌著i變數在add()函數內部就是一個靜態變數了,具備記憶自身值的功能,當第一次呼叫add時,i由於自加變成了1,這個時候,i就記住自己不再是0,而是1了,當我們再次調用add時,i再一次自加,由1變成了2。由此,我們就可以看出靜態變數的特性了。
什麼是自訂常數?
所謂自訂常數,就是指用一個字元標識來代表另一個對象,這個對象可以是一個數值,一個字串,一個布林值等等。它的定義與變數有著許多相似之處。只有一點不一樣,那就是變數的值在程式運行過程中可以任意更改,而自訂常數一旦定義下來後,在程式運行中就再也不能修改了。
定義方式如下:
define("YEAR","2012");
使用define關鍵字來將2012這個字串綁定到YEAR上來,以後在程式當中出現YEAR的地方就用2012來代替。一般情況下,我們定義常數時,常數名都使用大寫字母。
範例: 

<?php 
define("YEAR","2012"); 
define("MONTH","12"); 
define("DATE","21"); 
define("THING","Doomsday"); 
echo YEAR."-".MONTH."-".DATE." ".THING; 
?>

這段程式中,定義了四個常數,分別是YEAR,MONTH,DATE,THING,它們對應的值分別是2012,12,21,Doomsday,當我們用echo將它們連起來顯示時,與變數不同的地方就在於沒有使用「$」。
它的運行結果是:2012-12-21 Doomsday。

以上是php靜態變數與自訂常數的差異實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn