要在PHP中模拟枚举,我喜欢使用类常量。
e.g。
class FRUIT
{
const apple = 1;
const orange = 2;
const lemon = 3;
const pear = 4;
};
我有一个案例,我希望将此类强制转换为数组以填充选择列表。但是因为类常量表现为静态铸造不起作用,例如(array)(new FRUIT());
也不是get_object_vars()
方法。
绕过这个最好的方法是什么?我是否需要创建一个内部函数来迭代常量并返回一个数组?
答案 0 :(得分:7)
我是否需要创建一个内部函数来迭代常量并返回一个数组?
都能跟得上!你可以使用Reflection来做到这一点:
$r = new ReflectionClass('FRUIT');
$constants = $r->getConstants();
更多信息here