1、 什么是常量?常量和變量有什么區(qū)別?
常量是單個(gè)值的標(biāo)識(shí)符(名稱(chēng))。在腳本中無(wú)法改變?cè)撝怠?/font>
有效的常量名以字符或下劃線(xiàn)開(kāi)頭(常量名稱(chēng)前面沒(méi)有 $ 符號(hào))。
注釋?zhuān)号c變量不同,常量貫穿整個(gè)腳本是自動(dòng)全局的。
1)常量前沒(méi)有$符號(hào);
2)常量只能通過(guò)define()定義,而不能通過(guò)賦值語(yǔ)句定義;
3)常量可以在任何地方定義和訪問(wèn),而變量有全局和局部之分;
4)常量一旦定義就不能被重新定義或者取消定義,而變量而通過(guò)賦值方式重新定義;
5)常量的值只能是標(biāo)量數(shù)據(jù),而變量的數(shù)據(jù)庫(kù)類(lèi)型有8種原始數(shù)據(jù)類(lèi)型。
2、常量如何定義? 如何檢測(cè)一個(gè)常量是否被定義?常量的值只能是哪些數(shù)據(jù)類(lèi)型
define()//定義常量 , defined()//檢查常量是否定義,常量的值只能是標(biāo)量類(lèi)型的數(shù)據(jù)。
在php中可以定義常量,類(lèi)外部用define定義,類(lèi)內(nèi)部用const定義。
類(lèi)常量必須有初始值
define('','','false/true')里有三個(gè)參數(shù),默認(rèn)為false時(shí)區(qū)分大小寫(xiě),反之不區(qū)分大小寫(xiě)
3、常量有幾種分類(lèi),分別是什么?
常量分為系統(tǒng)內(nèi)置常量和自定義常量。自定義常量如上所示
最常見(jiàn)的幾個(gè)系統(tǒng)內(nèi)置常量為_(kāi)_FILE__ , __LINE__ , PHP_OS , PHP_VERSION
4、如果定義了兩個(gè)相同的常量,前者和后者哪個(gè)起作用?
前者起作用,因?yàn)槌A恳坏┒x就不能被重新定義或者取消定義。
5、在實(shí)際開(kāi)發(fā)中,常量最常用于哪些地方?
1)連接數(shù)據(jù)庫(kù)的信息定義成常量,如數(shù)據(jù)庫(kù)服務(wù)器的用戶(hù)名、密碼、數(shù)據(jù)庫(kù)名、主機(jī)名;
2)將站點(diǎn)的部分路徑定義成常量,如web絕對(duì)路徑,smarty的安裝路徑,model、view或者controller的文件夾路徑;
3)網(wǎng)站的公共信息,如網(wǎng)站名稱(chēng),網(wǎng)站關(guān)鍵詞等信息。
6、類(lèi)內(nèi)如何定義常量、如何類(lèi)內(nèi)調(diào)用常量、如何在類(lèi)外調(diào)用常量。
類(lèi)中的常量也就是成員常量,常量就是不會(huì)改變的量,是一個(gè)恒值。
定義常量使用關(guān)鍵字const.
例如:const PI = 3.1415326;
無(wú)論是類(lèi)內(nèi)還是類(lèi)外,常量的訪問(wèn)和變量是不一樣的,常量不需要實(shí)例化對(duì)象,
訪問(wèn)常量的格式都是類(lèi)名加作用域操作符號(hào)(雙冒號(hào))來(lái)調(diào)用。
即:類(lèi)名 :: 類(lèi)常量名;
常量的擁有者是類(lèi)本身,類(lèi)內(nèi)部訪問(wèn)常量用 self::常量
類(lèi)外部訪問(wèn)常量用 類(lèi)名::常量
子類(lèi)訪問(wèn)常量 parent::常量