【发布时间】:2016-05-25 17:13:51
【问题描述】:
我想为我的 PHP 应用程序创建分层枚举并考虑类似
abstract class User_Roles extends Enum {
const Administrator = "";
const Account_Manager = "Administrator";
const BlogAuthor = "Account_Manager";
const CommentManager = "Account_Manager";
}
我正在使用这个枚举类:SO
所以每个孩子都有他的父节点作为它的价值。
我会这样做:
$constants = $reflector->getConstants();
foreach ($constants as $key => $value) {
if ($value == "") {
$returnHierarchy[$key] = array();
continue;
}
$returnHierarchy[][$value] = $key;
}
但是我想创建的多维数组有一些问题。
所以它应该是这样的:
[Administrator]
{
[Account_Manager]
{
[BlogAuthor]
[CommentManager]
}
}
但我最终会遇到这样的事情:
array(4) (
[Administrator] => array(0)
[0] => array(1) (
[Administrator] => (string) Account_Manager
)
[1] => array(1) (
[Account_Manager] => (string) BlogAuthor
)
[2] => array(1) (
[Account_Manager] => (string) CommentManager
)
)
有什么我误解或忽略的吗?
【问题讨论】:
标签: php reflection enums hierarchy