1.什么是常量?
定以后通常不會改變的量叫做常量。可以這樣理解。如果把變量比作一個黑板上的字,寫完可以擦掉再改。那么常量就是一塊墓碑,一次刻印,終身受用。
2.常量名字的格式
- 常量名開頭不可以使用$符,這和變量名正好相反
- 聲明常量不要使用中文,可以使用英文,推薦大寫
- 可以使用數(shù)字,但是數(shù)字不能開頭
- 不可以使用特殊字符,除了下劃線
3.常量的定義方式
使用define函數(shù)定義
define('常量名','常量值','設(shè)置常量名是否區(qū)分大小寫');
注:第三個參數(shù)如果設(shè)置為true:表示常量名不區(qū)分大小。默認為false:區(qū)分大小寫。第二個參數(shù)不可省略。
我們來舉個例子:
define('CSDN','床上等你',true);
echo CSDN;
echo csdn; //床上等你床上等你
現(xiàn)在我們來嘗試更改常量的值。
define('CSDN','床上等你');
//嘗試改變常量的值
define('CSDN','中國IT論壇');
//輸出常量
echo CSDN; //報錯,提示已經(jīng)定義
//更改方式2
define('CSDN','床上等你',true);
//嘗試改變常量的值
CSDN = '中國IT論壇';
//輸出常量
echo CSDN; //報錯,提示已經(jīng)定義
注意:使用define定義常量時,常量值僅可以在標量中選取,不可以使用其他類型。
使用const定義
php5.3以后新增了const,所以5.3以后的版本才可以使用。
格式: const 常量名 = 常量值
Const和define不同:
- const聲明的常量 嚴格區(qū)分大小寫
- Const一般用在類中定義常量,define一般用于在頁面中定義常量
- Const關(guān)鍵字定義常量不能再流程控制語句中定義,define可以在流程控制語句中定義。
- Const定義常量值時可以使用數(shù)組類型,而define只能使用標量。
這里主要說一下第3點,測試如下demo
if($ljd){
//定義常量
define('CSDN','11');
const CSDN = '11'; //會報錯
}else{
}
檢測常量是否被定義
返回結(jié)果變量 = defined('要檢測的常量名');
如果該常量被設(shè)置:返回true
如果該常量沒有被設(shè)置:返回false;
//定義一個常量
define('CSDN',aa');
define('CSDN1','');
//使用defined 檢測常量是否被定義
$result = defined('CSDN');
$result1 = defined('CSDN1');
$result2 = defined('CSDN2');
var_dump($result); //true
var_dump($result1); //true
var_dump($result2); //false