【发布时间】:2017-09-28 18:18:50
【问题描述】:
是否有可能制作一组常量并将它们完全像数组一样而不是独立编写每个常量?
类似
echo MYCONST[0]; or
echo MYCONST['name'];
【问题讨论】:
-
当然可以
是否有可能制作一组常量并将它们完全像数组一样而不是独立编写每个常量?
类似
echo MYCONST[0]; or
echo MYCONST['name'];
【问题讨论】:
你要找的是常量数组:
现在可以使用 define() 执行此操作,但仅适用于 PHP7 .但是,您可以在 PHP5.6 上使用 const 关键字执行此操作,但在较低的 PHP 版本中无法执行此操作
这是一个例子:
<?php
define('ANIMALS', [
'dog',
'cat',
'bird'
]);
echo ANIMALS[1]; // outputs "cat"
define('MYCONST', [
'key' => "value"
]);
echo MYCONST['key']; // outputs "value"
【讨论】:
1.如果你使用的是PHP7,你可以定义一个constant as an array。
define('MYCONST', array("someValue1","someValue2"));
2. PHP7以下版本,可以将字符串存储为常量,无论是JSON字符串还是serialized字符串。
define('MYCONST', json_encode(array("someValue1","someValue2")));
define('MYCONST', serialize(array("someValue1","someValue2")));
访问PHP7以下版本的常量(如果是JSON或serialized字符串),必须分别json_decode或unserialize。
【讨论】: