PHP常量的定义和使用
常量是指定义时赋值,但在代码执行过程不能改变其数据的标识。PHP 中,可以使用 define() 函数定义常量,函数定义如下:
读取常量的数据时,可以使用 constant() 函数,其定义如下:
下面的代码演示了如何定义常量并读取它的数据。
此外,也可以直接使用常量名调用,如下面的代码同样会显示255。
判断一个常量是否已经定义,可以使用 defined() 函数,其定义如下:
下面的代码演示了 defined() 函数的使用。
bool(true)
bool(false)
第一个输出,由于已经定义了常量 MAX_SIZE,所以 defined() 函数返回 true;第二个输出,由于没有定义常量 MAX_BUFFER,则返回 false。
true 和 false 是布尔类型(bool)数据,直接显示它们的值时需要注意,true 会显示 1,而 false 会显示为空,在页面中看不到内容,所以,对于布尔类型的值,可以使用 var_dump() 函数显示。
define(string $name, mixed $value[, bool $case_insensitive = false]) : bool
对参数的说明:-
$name 参数使用字符串指定常量名称,可以使用一对双引号或一对单引号定义,如 MAX_SIZE。习惯上,常量名称会使用大写字母,单词之间使用下画线
_
连接的形式。 - $value 参数指定常量的值,使用混合类型(mixed),可以指定不同类型的数据。不过,建议常量还是使用基本的数据类型,如数值、字符串、布尔类型等。
-
$case_insensitive 参数指定是否忽略常量名中字母的大小写,默认为 false,即常量名区分字母的大小写。
请注意,在PHP 8 中不再允许此参数设置为 true,也就是说,未来的 PHP 常量名将严格区分字母的大小写,例如,Max_Size 和 MAX_SIZE 表示不同的常量。
读取常量的数据时,可以使用 constant() 函数,其定义如下:
constant(string $name) : mixed
constant() 函数只需要一个参数,即常量名。下面的代码演示了如何定义常量并读取它的数据。
<?php define("MAX_SIZE",255); echo constant("MAX_SIZE"); ?>页面会显示 255。
此外,也可以直接使用常量名调用,如下面的代码同样会显示255。
<?php define("MAX_SIZE",255); echo MAX_SIZE; ?>
判断一个常量是否已经定义,可以使用 defined() 函数,其定义如下:
defined(string $name) : bool
参数 $name 指一个常量名,如果常量已定义,函数将返回 true,否则返回 false。下面的代码演示了 defined() 函数的使用。
<?php define("MAX_SIZE",255); var_dump(defined("MAX_SIZE")); echo "<br>"; var_dump(defined("MAX_BUFFER")); ?>运行结果:
bool(true)
bool(false)
第一个输出,由于已经定义了常量 MAX_SIZE,所以 defined() 函数返回 true;第二个输出,由于没有定义常量 MAX_BUFFER,则返回 false。
true 和 false 是布尔类型(bool)数据,直接显示它们的值时需要注意,true 会显示 1,而 false 会显示为空,在页面中看不到内容,所以,对于布尔类型的值,可以使用 var_dump() 函数显示。