PHP常量怎么定义和使用?

文章导读
上一个 测验 下一个 PHP 中的常量是一个简单值的名称或标识符。常量值在 PHP 脚本执行期间不能改变。它基本上提高了代码的可读性和可维护性。常量使管理配置设置变得更容易。
📋 目录
  1. PHP 中常量的规则
  2. 如何在 PHP 中定义常量?
  3. 参数
  4. 定义常量的规则
  5. PHP 中有效和无效常量名称的示例
  6. PHP 预定义常量
  7. 定义命名常量
  8. 使用 constant() 函数
  9. 使用 defined() 函数
  10. PHP 中常量与变量的区别
A A

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() 函数定义。

  • 常量可以在任何地方定义和访问,而不受变量作用域规则的影响。

  • 一旦常量被设置,就不能被重新定义或取消定义。