变量,是容器里的内容可变,常量不能变,变量可以随时释放,常量必须在脚本结束才能释放,人为是不能释放的。
在项目中,有一个值永远都不用程序改变,那么这个量用常量。
常量一旦声明,这个常量的值就不会变。(声明的时候就得赋值,否则以后无法赋值。)
常量与变量内存对比图
常量声明需要注意的地方:
- 常量是使用define()声明的
define("常量名","值");
常量的值除了用字符串,也可用数字,参与运算。 - 如果常量没有声明,则常量名称在使用时自动转换为字符串,但是需要注意的是,这种比直接用""声明字符串要慢8倍。
- 常量名称不要加$
- 常量名称默认区分大小写,常量的命名规则为大写。
- 可以使用define的第三个参数来决定是否让这个常量名区分大小写,默认false区分,true不区分。
- 常量的值只支持4中标量数据类型。
- 常量不能使用unset()来释放。
- 可以使用defined()来判断一个常量是否存在
- echo constant(""); 也可以来输出常量的值,一半不用,使用的情况一般是在通过程序处理获得的一个常量名的字符串来输出
- get_defined_constants(),来获取已定义的常量列表。