php05—常量

1.什么是常量? 定以后通常不会改变的量叫做常量。可以这样理解。如果把变量比作一个黑板上的字,写完可以擦掉再改。那么常量就是一块墓碑,一次刻印,终身受用。
2.常量名字的格式

  1. 常量名开头不可以使用$符,这和变量名正好相反
  2. 声明常量不要使用中文,可以使用英文,推荐大写
  3. 可以使用数字,但是数字不能开头
  4. 不可以使用特殊字符,除了下划线
3.常量的定义方式
使用define函数定义
define('常量名','常量值','设置常量名是否区分大小写');注:第三个参数如果设置为true:表示常量名不区分大小。默认为false:区分大小写。第二个参数不可省略。

我们来举个例子:
define('CSDN','床上等你',true); echo CSDN; echo csdn; //床上等你床上等你

现在我们来尝试更改常量的值。
define('CSDN','床上等你'); //尝试改变常量的值 define('CSDN','中国IT论坛'); //输出常量 echo CSDN; //报错,提示已经定义//更改方式2define('CSDN','床上等你',true); //尝试改变常量的值 CSDN = '中国IT论坛'; //输出常量 echo CSDN; //报错,提示已经定义

注意:使用define定义常量时,常量值仅可以在标量中选取,不可以使用其他类型。
使用const定义
php5.3以后新增了const,所以5.3以后的版本才可以使用。
格式: const 常量名 = 常量值

Const和define不同:
  1. const声明的常量 严格区分大小写
  2. Const一般用在类中定义常量,define一般用于在页面中定义常量
  3. Const关键字定义常量不能再流程控制语句中定义,define可以在流程控制语句中定义。
  4. Const定义常量值时可以使用数组类型,而define只能使用标量。
这里主要说一下第3点,测试如下demo
if($ljd){ //定义常量 define('CSDN','11'); const CSDN = '11'; //会报错 }else{}

检测常量是否被定义
返回结果变量 = defined('要检测的常量名');

如果该常量被设置:返回true
【php05—常量】如果该常量没有被设置:返回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

    推荐阅读