php 靜態(tài)變量與自定義常量的使用方法
更新時(shí)間:2010年01月26日 11:19:55 作者:
php 靜態(tài)變量與自定義常量的使用方法
⚑ 靜態(tài)變量的聲明與使用
⚑ 自定義常量的使用方式
什么是靜態(tài)變量?
靜態(tài)變量是指用static聲明的變量,這種變量與局部變量的區(qū)別是,當(dāng)靜態(tài)變量離開了它的作用范圍后,它的值不會(huì)自動(dòng)消亡,而是繼續(xù)存在,當(dāng)下次再用到它的時(shí)候,可以保留最近一次的值。
下面舉例:
<?php
function add()
{
static $i=0;
$i++;
echo $i;
}
add();
echo " ";
add();
?>
這段程序中,主要定義了一個(gè)函數(shù)add(),然后分兩次調(diào)用add()。
如果用局部變量的方式來分工這段代碼,兩次的輸出應(yīng)該都是1。但實(shí)際輸出卻是1和2。
這是因?yàn)?,變量i在聲明的時(shí)候被加上了一個(gè)修飾符static,這就標(biāo)志著i變量在add()函數(shù)內(nèi)部就是一個(gè)靜態(tài)變量了,具備記憶自身值的功能,當(dāng)?shù)谝淮握{(diào)用add時(shí),i由于自加變成了1,這個(gè)時(shí)候,i就記住自己不再是0,而是1了,當(dāng)我們再次調(diào)用add時(shí),i再一次自加,由1變成了2。由此,我們就可以看出靜態(tài)變量的特性了。
什么是自定義常量?
所謂自定義常量,就是指用一個(gè)字符標(biāo)識(shí)來代表另外一個(gè)對象,這個(gè)對象可以是一個(gè)數(shù)值,一個(gè)字符串,一個(gè)布爾值等等。它的定義與變量有著許多相似之處。只有一點(diǎn)不一樣,那就是變量的值在程序運(yùn)行過程中可以任意更改,而自定義常量一旦定義下來后,在程序運(yùn)行中就再也不能修改了。
定義方式如下:
define("YEAR","2012");
使用define關(guān)鍵字來將2012這個(gè)字符串綁定到Y(jié)EAR上來,以后在程序當(dāng)中出現(xiàn)YEAR的地方就用2012來代替。一般情況下,我們定義常量時(shí),常量名都使用大寫字母。
例:
<?php
define("YEAR","2012");
define("MONTH","12");
define("DATE","21");
define("THING","Doomsday");
echo YEAR."-".MONTH."-".DATE." ".THING;
?>
這段程序中,定義了四個(gè)常量,分別是YEAR,MONTH,DATE,THING,它們對應(yīng)的值分別是2012,12,21,Doomsday,當(dāng)我們用echo將它們連起來顯示時(shí),與變量不同的地方就在于沒有使用“$”。
它的運(yùn)行結(jié)果是:2012-12-21 Doomsday。
⚑ 自定義常量的使用方式
什么是靜態(tài)變量?
靜態(tài)變量是指用static聲明的變量,這種變量與局部變量的區(qū)別是,當(dāng)靜態(tài)變量離開了它的作用范圍后,它的值不會(huì)自動(dòng)消亡,而是繼續(xù)存在,當(dāng)下次再用到它的時(shí)候,可以保留最近一次的值。
下面舉例:
復(fù)制代碼 代碼如下:
<?php
function add()
{
static $i=0;
$i++;
echo $i;
}
add();
echo " ";
add();
?>
這段程序中,主要定義了一個(gè)函數(shù)add(),然后分兩次調(diào)用add()。
如果用局部變量的方式來分工這段代碼,兩次的輸出應(yīng)該都是1。但實(shí)際輸出卻是1和2。
這是因?yàn)?,變量i在聲明的時(shí)候被加上了一個(gè)修飾符static,這就標(biāo)志著i變量在add()函數(shù)內(nèi)部就是一個(gè)靜態(tài)變量了,具備記憶自身值的功能,當(dāng)?shù)谝淮握{(diào)用add時(shí),i由于自加變成了1,這個(gè)時(shí)候,i就記住自己不再是0,而是1了,當(dāng)我們再次調(diào)用add時(shí),i再一次自加,由1變成了2。由此,我們就可以看出靜態(tài)變量的特性了。
什么是自定義常量?
所謂自定義常量,就是指用一個(gè)字符標(biāo)識(shí)來代表另外一個(gè)對象,這個(gè)對象可以是一個(gè)數(shù)值,一個(gè)字符串,一個(gè)布爾值等等。它的定義與變量有著許多相似之處。只有一點(diǎn)不一樣,那就是變量的值在程序運(yùn)行過程中可以任意更改,而自定義常量一旦定義下來后,在程序運(yùn)行中就再也不能修改了。
定義方式如下:
define("YEAR","2012");
使用define關(guān)鍵字來將2012這個(gè)字符串綁定到Y(jié)EAR上來,以后在程序當(dāng)中出現(xiàn)YEAR的地方就用2012來代替。一般情況下,我們定義常量時(shí),常量名都使用大寫字母。
例:
復(fù)制代碼 代碼如下:
<?php
define("YEAR","2012");
define("MONTH","12");
define("DATE","21");
define("THING","Doomsday");
echo YEAR."-".MONTH."-".DATE." ".THING;
?>
這段程序中,定義了四個(gè)常量,分別是YEAR,MONTH,DATE,THING,它們對應(yīng)的值分別是2012,12,21,Doomsday,當(dāng)我們用echo將它們連起來顯示時(shí),與變量不同的地方就在于沒有使用“$”。
它的運(yùn)行結(jié)果是:2012-12-21 Doomsday。
相關(guān)文章
最小化數(shù)據(jù)傳輸——在客戶端存儲(chǔ)數(shù)據(jù)
最小化數(shù)據(jù)傳輸——在客戶端存儲(chǔ)數(shù)據(jù)...2006-10-10
在面向?qū)ο缶幊讨? 最通常的方法是一個(gè)new操作符產(chǎn)生一個(gè)對象實(shí)例,new操作符就是用來構(gòu)造對象實(shí)例的。但是在一些情況下, new操作符直接生成對象會(huì)帶來一些問題。舉例來說, 許多類型對象的創(chuàng)造需要一系列的步驟: 你可能需要計(jì)算或取得對象的初始設(shè)置; 選擇生成哪個(gè)子對象實(shí)例; 或在生成你需要的對象之前必須先生成一些輔助功能的對象。 在這些情況, 新對象的建立就是一個(gè) “過程”,不僅是一個(gè)操作,像一部大機(jī)器中的一個(gè)齒輪傳動(dòng)。2008-06-06
利用遞歸把多維數(shù)組轉(zhuǎn)為一維數(shù)組的函數(shù)
利用遞歸把多維數(shù)組轉(zhuǎn)為一維數(shù)組的函數(shù)...2006-10-10
PHP PDOStatement::bindColumn講解
今天小編就為大家分享一篇關(guān)于PHP PDOStatement::bindColumn講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01

