有没有可能创建一个常量组并像数组一样获取它们,而不是独立地编写每个常量?
例如:
echo MYCONST[0]; or
echo MYCONST['name'];
你要找的是叫做常量数组:
现在可以使用 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"
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_decode
或unserialize
。