概念
l 常量就是值永远不变的量。如:圆周率、身份证号码等。
l 所谓常量值永远不变的量,是指在一次完整的HTTP请求过程中。
l 常量在程序运行过程中,不能修改、也不能删除。
l 常量比变量执行速度快。
l 常量在脚本的任何地方都能使用:函数内、函数外、类内、类外。
l 只有删除变量的函数unset()、但没有删除常量的函数。
命名规则
l 常量的命名与变量名几乎一样;
l 常量的名称可以包含:字母、数字、下划线。
l 唯一的不同的是:变量以$符开头,常量不需要。
l 常量名也可以以字母、下划线开头,但不能以数字开头。
l 常量名称尽量全大写,其目的与变量名区分开。如:PHP_INT_MAX、PHP_OS、DB_HOST
常量的定义define()
l 描述:定义一个常量
l 语法:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
l 参数:
$name代表常量的名称;
$value代表常量的值,只能是基本数据类型,不能是对象、数组、资源等。
$case_insensitive代表是否区分大小写,默认为false,区分大小写。
常量的判断defined()
l 描述:检查某个名称的常量是否存在
l 语法:bool defined ( string $name )
PHP预定义常量
PHP中预定义很多常量,大约有800个左右。
获取系统中所有常量get_defined_constants()
l 描述:返回所有常量的关联数组,键是常量名,值是常量值
l 语法:array get_defined_constants ([ bool $categorize = false ] )
l 参数:$categorize表示返回的数组是一维,还是多维。
魔术常量
首先,常量的值在程序运行过程中不会改变。但是,魔术常量的值,会随着所在位置的不同而改变。