含义:用于存储一个不会变化也不希望变化的数据的标示符。
常量命名规则,同变量,但习惯说,常常将常量的名称使用“全大写”形式。
定义:
o 使用形式:define(“常量名”, 常量值);
o 推荐常用名使用全大写形式
o 使用形式: const 常量名 = 常量值;
o 但const语法只能在“最顶层”的代码域中使用(不能在大括号中)
o 也即,const语法不能在函数中或条件语句中或其他表示一个“范围”的语句中使用
使用常量:
两种形式:
· 直接使用名字
· 或使用constant()函数:constant(“常量名”)
常量变量的区别:
· 定义形式不同:
· 使用形式不同:常量无需$符号
· 可变程度不同:常量的值不可以改变,常量也不可以销毁
· 作用范围不同:常量具有超全局作用域 (函数内外都可以直接使用)
· 可用类型不同:常量只能存储标量类型:int,float,string,bool
判断常量是否存在:defined()
判断的结果为布尔值。
常用形式:if ( defined (某常量名) == false ){ .....这里可以去定义该常量;}
实际上,可以这样:
$result = defined (某常量名); //结果是true或false
预定义常量:
php语言中,预定了大量的常量,可以直接使用。
其中有些常量,是需要某些模块打开之后才有(比如mysql模块)
· 比如M_PI(圆周率), PHP_OS(操作系统), PHP_VERSION(php版本号),PHP_INT_MAX(php中的最大的整数值)
· 参考手册〉附录〉保留字列表〉预定义常量
魔术常量
魔术常量其实是一种值会随着一定的条件(环境)而变化的常量,形式和使用上是常量,但实际上,其值会改变。
· 比如:__DIR__(当前网页文件的所在目录),__FILE__(当前网页文件),__LINE__(当前这一行)
· 魔术常量其实类似变量,其值随着不同代码而变化,不区分大小写
· 参考手册〉语言参考〉常量〉魔术常量