php中靜態變數 static 與自定義常量的使用

2021-06-19 11:04:45 字數 1154 閱讀 4252

php中靜態變數(static)與自定義常量的使用: 

1.php中靜態變數是指用static宣告的變數,這種變數與區域性變數的區別是,當靜態變數離開了它的作用範圍後,它的值不會自動消亡,而是繼續存在,當下次再用到它的時候,可以保留最近一次的值。 

例如: 

<?php 

function add() 

add(); 

echo " "; 

add(); 

?> 

上面的**中,定義了乙個函式add(),然後分兩次呼叫add()。 

如果用區域性變數的方式來分工這段**,兩次的輸出應該都是1。但實際輸出卻是1和2。 

這是因為,變數i在宣告的時候被加上了乙個修飾符static,這就標誌著i變數在add()函式內部就是乙個靜態變數了,具備記憶自身值的功能,當第一次呼叫add時,i由於自加變成了1,這個時候,i就記住自己不再是0,而是1了,當我們再次呼叫add時,i再一次自加,由1變成了2。由此,我們就可以看出靜態變數的特性了。 

2.php中的自定義常量,就是指用乙個字元標識來代表另外乙個物件,這個物件可以是乙個數值,乙個字串,乙個布林值等等。它的定義與變數有著許多相似之處。只有一點不一樣,那就是變數的值在程式執行過程中可以任意更改,而自定義常量一旦定義下來後,在程式執行中就再也不能修改了。 

定義方式如下: 

define("year","2010"); 

使用define關鍵字來將2010這個字串繫結到year上來,以後在程式當中出現year的地方就用2010來代替。一般情況下,我們定義常量時,常量名都使用大寫字母。 

例: 複製** **如下: 

<?php 

define("year","2010"); 

define("month","10"); 

define("date","21"); 

define("thing","doomsday"); 

echo year."-".month."-".date." ".thing; 

?> 

這段程式中,定義了四個常量,分別是year,month,date,thing,它們對應的值分別是2010,10,21,doomsday,當我們用echo將它們連起來顯示時,與變數不同的地方就在於沒有使用「$」。 

它的執行結果是:2010-10-21 doomsday。

php 靜態變數static

靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。只要在變數前加上關鍵字static,該變數就成為靜態變數了。functiontest 第一次執行,nm tes...

PHP的static靜態變數

靜態變數只存在於函式作用域內,也就是說,靜態變數只存活在棧中。一般的函式內變數在函式結束後會釋放,比如區域性變數,但是靜態變數卻不會。就是說,下次再呼叫這個函式的時候,該變數的值會保留下來。只要在變數前加上關鍵字static,該變數就成為靜態變數了。01 02functiontest 03 08 0...

PHP重置static靜態變數

php重置static靜態變數 1 todo 贈送虛擬幣類 class givencoin,max coin givenhealthgold json decode givenhealthgold,true 操作乙個靜態關鍵字 given money givenhealthgold given co...