获取 PHP 中动态选择的类常量的值

2022-08-30 07:02:09

我希望能够做这样的事情:

class ThingIDs
{
    const Something = 1;
    const AnotherThing = 2;
}

$thing = 'Something';
$id = ThingIDs::$thing;

这不起作用。有没有一种直接的方法可以做一些类似的事情?请注意,我被困在课堂上;它在我无法重写的库中。我正在编写在命令行上获取参数的代码,我真的希望它采用符号名称而不是ID号。


答案 1

使用 constant() 函数:

$id = constant("ThingIDs::$thing");

答案 2

使用反射

$r = new ReflectionClass('ThingIDs');
$id = $r->getConstant($thing);

推荐