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()。
如果用局部變量的方式來(lái)分工這段代碼,兩次的輸出應(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)我們?cè)俅握{(diào)用add時(shí),i再一次自加,由1變成了2。由此,我們就可以看出靜態(tài)變量的特性了。
什么是自定義常量?
所謂自定義常量,就是指用一個(gè)字符標(biāo)識(shí)來(lái)代表另外一個(gè)對(duì)象,這個(gè)對(duì)象可以是一個(gè)數(shù)值,一個(gè)字符串,一個(gè)布爾值等等。它的定義與變量有著許多相似之處。只有一點(diǎn)不一樣,那就是變量的值在程序運(yùn)行過程中可以任意更改,而自定義常量一旦定義下來(lái)后,在程序運(yùn)行中就再也不能修改了。
定義方式如下:
define("YEAR","2012");
使用define關(guān)鍵字來(lái)將2012這個(gè)字符串綁定到Y(jié)EAR上來(lái),以后在程序當(dāng)中出現(xiàn)YEAR的地方就用2012來(lái)代替。一般情況下,我們定義常量時(shí),常量名都使用大寫字母。
例:
<?php
define("YEAR","2012");
define("MONTH","12");
define("DATE","21");
define("THING","Doomsday");
echo YEAR."-".MONTH."-".DATE." ".THING;
?>
這段程序中,定義了四個(gè)常量,分別是YEAR,MONTH,DATE,THING,它們對(duì)應(yīng)的值分別是2012,12,21,Doomsday,當(dāng)我們用echo將它們連起來(lái)顯示時(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()。
如果用局部變量的方式來(lái)分工這段代碼,兩次的輸出應(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)我們?cè)俅握{(diào)用add時(shí),i再一次自加,由1變成了2。由此,我們就可以看出靜態(tài)變量的特性了。
什么是自定義常量?
所謂自定義常量,就是指用一個(gè)字符標(biāo)識(shí)來(lái)代表另外一個(gè)對(duì)象,這個(gè)對(duì)象可以是一個(gè)數(shù)值,一個(gè)字符串,一個(gè)布爾值等等。它的定義與變量有著許多相似之處。只有一點(diǎn)不一樣,那就是變量的值在程序運(yùn)行過程中可以任意更改,而自定義常量一旦定義下來(lái)后,在程序運(yùn)行中就再也不能修改了。
定義方式如下:
define("YEAR","2012");
使用define關(guān)鍵字來(lái)將2012這個(gè)字符串綁定到Y(jié)EAR上來(lái),以后在程序當(dāng)中出現(xiàn)YEAR的地方就用2012來(lái)代替。一般情況下,我們定義常量時(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,它們對(duì)應(yīng)的值分別是2012,12,21,Doomsday,當(dāng)我們用echo將它們連起來(lái)顯示時(shí),與變量不同的地方就在于沒有使用“$”。
它的運(yùn)行結(jié)果是:2012-12-21 Doomsday。
相關(guān)文章
php preg_filter執(zhí)行一個(gè)正則表達(dá)式搜索和替換
preg_filter()等價(jià)于preg_replace() 除了它僅僅返回(可能經(jīng)過轉(zhuǎn)化)與目標(biāo)匹配的結(jié)果. 這個(gè)函數(shù)怎樣工作的更詳細(xì)信息請(qǐng)閱讀 preg_replace()文檔2012-02-02

php strftime函數(shù)獲取日期時(shí)間(switch用法)
strftime是php中常見的將日期時(shí)間獲取函數(shù),將存入數(shù)據(jù)庫(kù)中的數(shù)字轉(zhuǎn)換為時(shí)間的函數(shù),這里就為大家介紹一下strftime函數(shù)的用法與參數(shù),需要的朋友可以參考下
2018-05-05 
php環(huán)境配置 php5 MySQL5 apache2 phpmyadmin安裝與配置圖文教程
php環(huán)境的配置,對(duì)于新手來(lái)說,絕對(duì)是一件煩事.總會(huì)遇到這樣那樣的問題,走很多彎路.
2007-03-03 
在PHP3中實(shí)現(xiàn)SESSION的功能(三)
在PHP3中實(shí)現(xiàn)SESSION的功能(三)...
2006-10-10 
PHP htmlspecialchars()函數(shù)用法與實(shí)例講解
今天小編就為大家分享一篇關(guān)于PHP htmlspecialchars()函數(shù)用法與實(shí)例講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
2019-03-03