插件窝 干货文章 php常量可以是数组吗

php常量可以是数组吗

常量 数组 定义 PHP 659    来源:    2025-03-18

在 PHP 中,常量通常是通过 define() 函数或 const 关键字定义的,并且它们的值在脚本执行期间是不可变的。然而,在 PHP 5.6 之前,常量只能是标量值(如整数、浮点数、字符串、布尔值),不能是数组。

PHP 5.6 开始,PHP 支持将数组作为常量的值。你可以使用 define() 函数或 const 关键字来定义一个数组常量。

示例代码

使用 define() 定义数组常量

define('MY_ARRAY', [
    'foo' => 'bar',
    'baz' => 'qux'
]);

print_r(MY_ARRAY);

使用 const 定义数组常量

const MY_ARRAY = [
    'foo' => 'bar',
    'baz' => 'qux'
];

print_r(MY_ARRAY);

输出结果

Array
(
    [foo] => bar
    [baz] => qux
)

注意事项

  1. PHP 版本要求:数组常量仅在 PHP 5.6 及以上版本中支持。如果你使用的是更早的版本,尝试定义数组常量会导致语法错误。
  2. 常量不可变:一旦定义了数组常量,就不能再修改它的值或结构。
  3. 全局作用域:使用 define() 定义的常量是全局的,而 const 定义的常量在类内部或命名空间中有特定的作用域。

总结

从 PHP 5.6 开始,常量可以是数组。你可以根据需要使用 define()const 来定义数组常量,但请确保你的 PHP 版本支持此功能。