php 如何检查枚举类型?

pxiryf3j  于 2023-04-28  发布在  PHP
关注(0)|答案(3)|浏览(136)

如何判断一个变量是否是enum类型?
我已经安装了PHP 8。我的Ubuntu 2004.我正在测试新的“enum”类型。
这可能吗?

is_enum($var)
gettype($var) === 'enum'
u4dcyp6a

u4dcyp6a1#

有人告诉我解决办法:

if ($var instanceof \UnitEnum) {
   echo 'is enum';
}
eagi6jfj

eagi6jfj2#

使用enum_exists,检查是否为枚举。

if (enum_exists(Item::class)) {
    $myType = Item::Manufactured;
}
soat7uwm

soat7uwm3#

您也可以通过反射检查:

var_dump(
    (new ReflectionClass($object::class))
        ->isEnum()
);

相关问题