ben*_*t_w 1 php arrays enums casting class-constants
要在PHP中模拟枚举,我喜欢使用类常量.
例如
class FRUIT
{
const apple = 1;
const orange = 2;
const lemon = 3;
const pear = 4;
};
Run Code Online (Sandbox Code Playgroud)
我有一个案例,我想把这个类强制转换为一个数组来填充选择列表.但是因为类常量表现为静态铸造不起作用,例如方法(array)(new FRUIT());
也不起作用get_object_vars()
.
绕过这个最好的方法是什么?我是否需要创建一个内部函数来迭代常量并返回一个数组?
我是否需要创建一个内部函数来迭代常量并返回一个数组?
不!你可以使用Reflection来做到这一点:
$r = new ReflectionClass('FRUIT');
$constants = $r->getConstants();
Run Code Online (Sandbox Code Playgroud)
更多信息在这里