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