PHP 常量
常量(Constant)是 PHP 中用于存储固定值的标识符,一旦定义常量的值将始终保持不变,既不能重新赋值,也不能取消定义。
在 PHP 中,定义常量主要有两种方式:使用define()
函数或const
关键字。
PHP 常量的核心特性
✅ PHP 常量具有以下重要特性,使其成为存储固定值的理想选择:
1. 不可变性(Immutability)
- 常量一旦定义后,其值永久不可更改
- 无法通过赋值语句重新定义(如
CONSTANT = newValue
会报错) - 不能使用
unset()
取消定义
2. 全局作用域(Global Scope)
- 常量默认具有全局可见性
- 在函数/方法内部无需使用
global
关键字即可直接访问 - 不受类/函数作用域限制(类常量除外)
3. 命名规则
- 命名时不需要
$
符号前缀 - 传统约定使用全大写字母加下划线(如
MAX_SIZE
) - 可以包含字母、数字和下划线,但必须以字母或下划线开头
4. 数据类型支持
- 支持标量数据类型:整型(integer)、浮点型(float)、字符串(string)、布尔型(boolean)
- 支持复合类型(PHP 7+):数组(array)、对象(object,通过序列化)
5. 定义与访问
- 使用
define()
或const
定义 - 通过常量名直接访问(如
echo MAX_SIZE;
) - 可用
constant()
函数动态获取值(如constant('MAX_SIZE')
)
6. 存在性检查
- 通过 defined() 函数检测是否已定义:
if (!defined('CONSTANT_NAME')) {
define('CONSTANT_NAME', 'value');
}
7. 性能优势
- 相比变量,常量具有更快的访问速度
- 编译时优化的常量(如
const
定义)性能更优
PHP 使用 define() 函数定义常量
✅ define()
函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive:可选参数,大小写敏感设置。默认 false(大小写敏感)。PHP7.3 后全是大小写敏感,即这个参数没意义了。
✅ 以下实例我们创建一个区分大小写的常量(PHP7.3 版本之后不建议使用),常量值为 "欢迎访问 Kaicz.com":
// 区分大小写的常量名
define("GREETING", "欢迎访问 Kaicz.com");
echo GREETING; // 输出 "欢迎访问 Kaicz.com"
echo '
';
echo greeting; // 输出 "greeting",但是有警告信息,表示该常量未定义
✅ 以下实例我们创建一个 不区分大小写的常量,常量值为 "欢迎访问 Kaicz.com":
// 不区分大小写的常量名
define("GREETING", "欢迎访问 Kaicz.com", true);
echo greeting; // 输出 "欢迎访问 Kaicz.com"
PHP 使用 const 关键字
✅ const()
关键字定义常量:
const CONSTANT_NAME = "value";
✅ 以下是一个使用const
关键字定义常量的实例:
const SITE_URL = "https://www.kaicz.com";
echo SITE_URL; // 输出 "https://www.kaicz.com"
PHP 预定义常量
PHP 提供了丰富地预定义常量,这些常量在脚本运行时自动可用,常见地预定义常量有:
PHP_VERSION
:PHP 版本号(如 "8.1.5")PHP_MAJOR_VERSION
:主版本号(如 8)PHP_OS
:操作系统类型(如 "Linux")PHP_OS_FAMILY
:操作系统家族(如 "Windows"、"Linux")PHP_SAPI
:服务器API类型(如 "cli"、"apache2handler")PHP_EOL
:系统换行符(Windows为"\r\n",Unix为"\n")PHP_INT_SIZE
:整数字节数(如 8)PHP_FLOAT_DIG
:浮点数精度位数
echo PHP_VERSION; // 输出 PHP 版本,例如 "7.4.1"
echo PHP_OS; // 输出操作系统,例如 "Linux"
echo PHP_INT_MAX; // 输出最大的整数值,例如 "9223372036854775807"
数组常量(PHP 7 及以上版本)
PHP 从 7.0 版本开始支持将数组定义为常量,这为配置管理和固定数据集合提供了更强大的支持。
define("FRUITS", [
"Apple",
"Banana",
"Orange"
]);
echo FRUITS[0]; // 输出 "Apple"
或者使用const
:
const COLORS = [
"Red",
"Green",
"Blue"
];
echo COLORS[1]; // 输出 "Green"
评论区 0
发表评论
教程介绍
PHP 通用开源服务器端脚本语言,特别适用于 Web 开发,能够嵌入 HTML 中使用。
20
章节
33
阅读
0
评论
反馈提交成功
感谢您的反馈,我们将尽快处理您的反馈