PHP define() 函数

定义和用法

define() 函数定义常量。

常量类似变量,不同之处在于:

  • 常量的值在设定后不能被改变
  • 常量名不需要开头的美元符号 ($)
  • 常量可以在任何作用域内访问
  • 常量的值只能是字符串和数字

实例

例子 1

定义一个区分大小写的常量:

<?php
define("GREETING","Hello world!");
echo constant("GREETING");
?>

亲自试一试

例子 2

定义一个大小写不敏感的常量:

<?php
define("GREETING","Hello world!",TRUE);
echo constant("greeting");
?>

输出:

Hello world!

语法

define(name,value,case_insensitive)
参数 描述
name 必需。规定常量的名称。
value 必需。规定常量的值。
case_insensitive

可选。指定常量名称是否不区分大小写。可能的值:

  • TRUE - 不区分大小写(在 PHP 7.3 中已弃用)
  • FALSE - 区分大小写(这是默认值)

说明

在 PHP 7.3 之后,不建议使用不区分大小写的常量名称,因为该选项已被弃用。在定义常量时,应始终使用区分大小写的名称。

此外,虽然 PHP 7 允许将数组作为常量的值,但这并不是常量的典型用法,因为常量通常用于存储简单的不变值,如配置设置或常量表达式。

在 PHP 5 中,常量的值必须是标量类型(如字符串、整数、浮点数)或布尔值,或者是 NULL。

技术细节

返回值: 成功时返回 TRUE,失败时返回 FALSE。
PHP 版本: 4+
PHP 更新日志:

PHP 7.3:定义不区分大小写的常量已被弃用。

PHP 7:value 参数也可以是数组。

PHP 5:value 参数必须是字符串、整数、浮点数、布尔值或 NULL。