常量

目录语法预定义常量魔术常量

常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的

魔术常量,它们其实不是常量)。常量大小写敏感。传统上常量标识符总是大写的。

注意:

在 PHP 8.0.0 之前,使用 define() 定义的常量可能不区分大小写。

常量名和其它任何 PHP

标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。用正则表达式是这样表达的:

^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$。

还可以使用 define() 函数来定义包含保留字或非常规名称的常量,这类常量可以通过

constant() 函数来获取名称,但是非常不推荐这种用法。

小技巧请参见用户空间命名指南。

示例 #1 合法与非法的常量名

注意:

在这里,字母指的是 a-z,A-Z,以及从 128 到 255(0x80-0xff)的 ASCII 字符。

和 superglobals 一样,常量的范围是全局的。常量可以从脚本的任何地方被访问,而不考虑作用域。有关作用域的更多信息请阅读手册中的变量范围。

注意:

从 PHP 7.1.0 开始,类常量可以声明为 protected 或 private 的可见性,

使其只在其定义的类的层次范围内可用。