是否可以将数组声明为常量

php
2022-08-30 09:54:28

我们可以定义一个常量,如

define("aconstant','avalue');

我们不能像下面这样以这种方式定义数组吗?

define("months",array("January", "February", ---); 

答案 1

你可以从 PHP 5.6(通过 nikic)开始使用 const 来实现这个目的。

const months = ["January", "February"];
var_dump("January" === months[0]);

答案 2

更新:这在 PHP 7 中是可能的(参考)

// Works as of PHP 7
define('ANIMALS', array(
    'dog',
    'cat',
    'bird'
));
echo ANIMALS[1]; // outputs "cat"

原始答案

从 php.net...

常量的值;只允许标量和空值。标量值为整数、浮点数、字符串或布尔值。可以定义资源常量,但不建议这样做,这可能会导致不可预知的行为。

$months = array("January,"February",...)会没事的。


推荐