PHP常量作为数组

3

有没有可能创建一个常量组并像数组一样获取它们,而不是独立地编写每个常量?

例如:

echo MYCONST[0]; or 
echo MYCONST['name'];

当然可以。 - TuralAsgar
2个回答

10

你要找的是叫做常量数组:

现在可以使用 define() 实现,但仅适用于 PHP7。然而,您可以通过使用 const 关键字在 PHP5.6 上实现,而在较低版本的 PHP 中则不可能。

这里是一个示例:

<?php

define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

echo ANIMALS[1]; // outputs "cat"

define('MYCONST', [
    'key' => "value"

    ]);

echo MYCONST['key']; // outputs "value"

9

1. 如果您正在使用PHP7,您可以将常量定义为数组

define('MYCONST', array("someValue1","someValue2"));

2. PHP7版本以下,您可以将字符串作为常量存储,无论它是JSON字符串还是serialized字符串。

define('MYCONST', json_encode(array("someValue1","someValue2")));
define('MYCONST', serialize(array("someValue1","someValue2")));

如果要访问版本低于PHP7的常量(如果它是JSON序列化字符串),则必须分别使用json_decodeunserialize


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接