是否有不同层次的php枚举


Is there anyway to have various levels for php enumerations?

有人知道php abstracteneration是否有任何方法在它下面做另一个层次吗?

就像……

const a = 'a';
const b = 'b';

但是a有一个可选参数:

const a = 'a' => '=123'

我知道这可能最终会变成一个哈希表,但我只是想知道我可以用php枚举做些什么有趣的事情。

PHP不支持原生枚举。

你可以这样做:

abstract class ErrorCode
{
   const NOT_FOUND = 404;
   const OK = 200;
   // etc.

}

$error = ErrorCode::NOT_FOUND;

这在PHP中不起作用:

const a = 'a' => '=123'

您可以将对象序列化为数组:

# serialize data into an array
define ("a", serialize (array ("a" => 123)));
# use it wherever you want
$a = unserialize (a);