PHP - 常量
PHP 中的常量是一个简单值的名称或标识符。常量值在 PHP 脚本执行期间不能改变。它基本上提高了代码的可读性和可维护性。常量使管理配置设置变得更容易。
它们使代码更容易阅读,并防止键值发生变化。常量可以在应用程序的任何地方使用。PHP 还包含内置常量,例如 PHP_VERSION。常量有助于使代码更简单和更安全。
PHP 中常量的规则
默认情况下,PHP 常量是区分大小写的。
按照惯例,常量标识符始终使用大写。
常量名称以字母或下划线开头,后跟任意数量的字母、数字或下划线。
常量前不需要写美元符号 ($) ,但是变量前必须使用美元符号。
如何在 PHP 中定义常量?
我们可以使用 define() 函数在 PHP 编程语言中创建常量。
语法
以下是 PHP 中 define() 函数的语法 −
define("CONSTANT_NAME", value);
参数
使用 define() 函数所需的参数如下所述 −
| 序号 | 参数 & 描述 |
|---|---|
| 1 |
CONSTANT_NAME 它是常量的名称(应使用大写)。 |
| 2 |
value 它是分配给常量的固定值。 |
定义常量的规则
以下是定义常量的规则 −
常量名称必须以字母或下划线开头。
与变量不同,常量名称不应包含 $ 符号。
常量是全局的,因此可以在脚本的任何地方访问。
PHP 中有效和无效常量名称的示例
以下是 PHP 中一些有效和无效常量名称的示例 −
// 有效的常量名称
define("ONE", "first thing");
define("TWO2", "second thing");
define("THREE_3", "third thing");
define("__THREE__", "third value");
// 无效的常量名称
define("2TWO", "second thing");
PHP 预定义常量
PHP 有几个内置常量,提供有用的信息。
<?php // 输出当前 PHP 版本 echo PHP_VERSION; // 输出 PHP 运行的操作系统 echo PHP_OS; ?>
定义命名常量
PHP 库中的 define() 函数用于在运行时定义命名常量。
define(string $const_name, mixed $value, bool $case = false): bool
参数
const_name − 常量的名称。
value − 常量的值。它可以是标量值(int、float、string、bool 或 null),也接受 array 值。
case − 如果设置为 true,则常量将不区分大小写。默认行为是区分大小写,即 CONSTANT 和 Constant 表示不同的值。
define() 函数在成功时返回 "true",失败时返回 "false"。
示例 1
以下示例演示了 define() 函数的工作原理 −
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT;
// echo Constant;
?>
输出
第一个 echo 语句输出 CONSTANT 的值。您将得到以下 输出 −
Hello world.
但是,当您取消注释第二个 echo 语句时,它将显示以下错误 −
Fatal error: Uncaught Error: Undefined constant "Constant" in hello.php: on line 5
如果您将 case 参数设置为 False,PHP 将不区分大小写的常量。
示例 2
您也可以将数组用作常量的值。请看以下示例 −
<?php
define(
$name="LANGS",
$value=array('PHP', 'Java', 'Python')
);
var_dump(LANGS);
?>
输出
它将产生以下 输出 −
array(3) {
[0]=>
string(3) "PHP"
[1]=>
string(4) "Java"
[2]=>
string(6) "Python"
}
使用 constant() 函数
echo 语句会输出已定义常量的值。你也可以使用 constant() 函数。它会返回由名称指定的常量的值。
constant(string $name): mixed
如果需要获取常量的值,但不知道其名称,则 constant() 函数很有用。也就是说,它存储在变量中或由函数返回。
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo PHP_EOL;
// 与上一行相同
echo constant("MINSIZE");
?>
输出
它将产生以下 输出 −
50 50
使用 defined() 函数
PHP 库提供了一个 defined() 函数,用于检查指定的命名常量是否存在。请看以下示例 −
<?php
define('MAX', 100);
if (defined('MAX')) {
echo MAX;
}
?>
输出
它将产生以下 输出 −
100
PHP 还有一个名为 "get_defined_constants()" 的函数,它返回所有已定义常量及其值的关联数组。
PHP 中常量与变量的区别
常量不能通过简单赋值来定义;它们只能使用 define() 函数定义。
常量可以在任何地方定义和访问,而不受变量作用域规则的影响。
一旦常量被设置,就不能被重新定义或取消定义。