【发布时间】:2011-01-15 13:00:10
【问题描述】:
有没有办法在 PHP 中定义一个常量数组?
【问题讨论】:
-
它可以用来模拟枚举,尽管一切都可以通过类和一点反射来完成。
标签: php
有没有办法在 PHP 中定义一个常量数组?
【问题讨论】:
标签: php
不认为你可以。但是您可以随时尝试searching。
【讨论】:
define('SOMEARRAY', serialize(array(1,2,3)));
$is_in_array = in_array($x, unserialize(SOMEARRAY));
这是最接近数组常量的。
【讨论】:
你不能,但你可以在一个类中定义静态数组,它会为你提供同样的服务,只是你会写 Foo::$bar 来代替 FOO。
【讨论】:
不,这是不可能的。来自手册:Constants Syntax
只有标量数据(布尔值、整数、浮点数和字符串)可以包含在常量中。可以将常量定义为资源,但应避免使用,因为它可能导致意外结果。
如果您需要设置一组已定义的常量,请考虑创建一个类并用class constants 填充它。手册中稍作修改的示例:
class MyClass
{
const constant1 = 'constant value';
const constant2 = 'constant value';
const constant3 = 'constant value';
function showConstant1() {
echo self::constant1 . "\n";
}
}
echo MyClass::constant3;
还可以查看 GhostDog 发布的链接,这是一个很好的解决方法。
【讨论】: