ps.在半路出家學習PHP的過程中,筆記是最重要的老師.謹以鞏固知識,強化思維.
(如無特殊說明,文中"__"為連續(xù)兩個下劃線"_".)
什么是常量?常量可以理解為值不變的量(如圓周率);或者是常量值被定義后,在腳本的其他任何地方都不可以被改變。PHP中的常量分為自定義常量和系統(tǒng)常量。
自定義常量是根據(jù)我們開發(fā)的需要,而定義的常量,它通過使用PHP中的函數(shù)define()定義。
????define()函數(shù)的語法格式為:
????define(string $constant_name, mixed $value[, $case_sensitive = true])
它有3個參數(shù):
第一個參數(shù)“constant_name”為必選參數(shù),常量名稱,即標志符,常量的命名規(guī)則與變量的一致,但是要注意哦,它可不帶美元符號哦。
第二個參數(shù)“value”為必選參數(shù),它是常量的值。
第三個參數(shù)“case_sensitive”為可選參數(shù),指定是否大小寫敏感,設定為true表示不敏感,一般不指定第三個參數(shù)的情況下,默認第三個參數(shù)的值為false。
(注: string表示參數(shù)類型為字符串類型,mixed表示參數(shù)類型可以接受為多種不同的類型,case_sensitive = true表示默認為布爾類型TRUE)
系統(tǒng)常量是PHP中已經(jīng)定義號的常量,我們可以直接拿來使用,常見的系統(tǒng)常量有:
(1) __FILE__ : php程序文件名.獲取當前文件在服務器的物理位置.
? ??echo __FILE__;
(2) __LINE__ : php程序文件行數(shù).獲取當前代碼在第幾行.
? ????echo __LINE__;
(3) PHP_VERSION : 當前解釋器的版本號.
????echo PHP_VERSION;
(4) PHP_OS : 執(zhí)行當前版本的操作系統(tǒng)名稱.
????echo PHP_OS;
其他系統(tǒng)常量請參考php手冊.
在定義了常量之后,就要使用常量,這個過程即'常量取值'.
獲取常量值有兩種方法:
1.使用常量名直接獲取值;
????define("PI",3.14);
????$r=1;
????$area =PI*$r*$r;//計算圓的面積
2.使用constant()函數(shù).格式如下:
????mixed constant(string constant_name)
第一個參數(shù)constant_name為要獲取常量的名稱,也可為存儲常量名的變量。如果成功則返回常量的值,失敗則提示錯誤信息常量沒有被定義。(注:mixed表示函數(shù)返回值類型為多種不同的類型,string表示參數(shù)類型為字符串類型)
如何判定常量是否被定義?
如果常量被重復定義以后,PHP解析器就會發(fā)出"Constant XXX already defined "的警告,提醒我們該常量已經(jīng)被定義過了.
但是,在團隊開發(fā)的過程中,代碼量很大,我們應該如何判定呢?
defined()函數(shù)可以幫我們判定一個常量是否被定義.其格式為:
bool defined(string constants_name);
它只有參數(shù)constant_name ,指的是要獲取的常量名稱,若存在則返回布爾類型true,否則返回布爾類型false;(注:bool表示函數(shù)返回值類型為bool類型)