php05—常量
2017-12-22 本文已影响12人
YINdevelop
1.什么是常量?
定以后通常不会改变的量叫做常量。可以这样理解。如果把变量比作一个黑板上的字,写完可以擦掉再改。那么常量就是一块墓碑,一次刻印,终身受用。
2.常量名字的格式
- 常量名开头不可以使用$符,这和变量名正好相反
- 声明常量不要使用中文,可以使用英文,推荐大写
- 可以使用数字,但是数字不能开头
- 不可以使用特殊字符,除了下划线
3.常量的定义方式
使用define函数定义
define('常量名','常量值','设置常量名是否区分大小写');
注:第三个参数如果设置为true:表示常量名不区分大小。默认为false:区分大小写。第二个参数不可省略。
我们来举个例子:
define('CSDN','床上等你',true);
echo CSDN;
echo csdn; //床上等你床上等你
现在我们来尝试更改常量的值。
define('CSDN','床上等你');
//尝试改变常量的值
define('CSDN','中国IT论坛');
//输出常量
echo CSDN; //报错,提示已经定义
//更改方式2
define('CSDN','床上等你',true);
//尝试改变常量的值
CSDN = '中国IT论坛';
//输出常量
echo CSDN; //报错,提示已经定义
注意:使用define定义常量时,常量值仅可以在标量中选取,不可以使用其他类型。
使用const定义
php5.3以后新增了const,所以5.3以后的版本才可以使用。
格式: const 常量名 = 常量值
Const和define不同:
- const声明的常量 严格区分大小写
- Const一般用在类中定义常量,define一般用于在页面中定义常量
- Const关键字定义常量不能再流程控制语句中定义,define可以在流程控制语句中定义。
- Const定义常量值时可以使用数组类型,而define只能使用标量。
这里主要说一下第3点,测试如下demo
if($ljd){
//定义常量
define('CSDN','11');
const CSDN = '11'; //会报错
}else{
}
检测常量是否被定义
返回结果变量 = defined('要检测的常量名');
如果该常量被设置:返回true
如果该常量没有被设置:返回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