有没有办法在PHP中定义常量数组?
发布于 2010-02-11 09:16:14
不,这不可能。摘自手册:
常量中只能包含标量数据(布尔型、整型、浮点型和字符串)。可以将常量定义为资源,但应避免这样做,因为它可能会导致意外的结果。
如果需要设置一组已定义的常量,可以考虑创建一个类并用填充它。手册中的一个稍作修改的示例:
class MyClass
{
const constant1 = 'constant value';
const constant2 = 'constant value';
const constant3 = 'constant value';
function showConstant1() {
echo self::constant1 . "\n";
}
}
echo MyClass::constant3;也可以查看GhostDog发布的链接,这是一个很好的变通方法。
发布于 2010-02-11 09:51:53
define('SOMEARRAY', serialize(array(1,2,3)));
$is_in_array = in_array($x, unserialize(SOMEARRAY));这是最接近数组常量的。
发布于 2010-02-11 10:20:01
你不能,但你可以只在一个类中定义静态数组,它同样可以为你服务,只是代替FOO,你可以写Foo::$bar。
https://stackoverflow.com/questions/2241569
复制相似问题