PHP - 类/对象 enum_exists() 函数



PHP 类/对象 **enum_exists()** 函数用于确定是否存在特定枚举类型。如果枚举已定义,则返回 true,否则返回 false。此函数对于在使用枚举之前验证其是否已定义很有用。它还可以避免意外错误。

语法

以下是 PHP 类/对象 **enum_exists()** 函数的语法:

bool enum_exists ( string $enum, bool $autoload = true )

参数

以下是 **enum_exists()** 函数的参数:

  • **$enum** - 要检查的枚举的名称。

  • **$autoload** - 可选参数。如果设置为 true,则如果枚举类不存在,它将尝试自动加载该类。默认值为 true。

返回值

如果 enum 是已定义的枚举,则 **enum_exists()** 函数返回 TRUE;失败则返回 FALSE。

PHP 版本

**enum_exists()** 函数首次引入于 PHP 8.1.0 核心版本,在之后版本中继续良好运行。

示例 1

以下是如何使用 PHP 类/对象 **enum_exists()** 函数检查名为 Bike 的简单枚举是否存在的基本示例。

<?php
   // Define enum here
   enum Bike { 
      case Petrol; 
      case Electric; 
   } 
   
   if(enum_exists(Bike::class)){ 
      echo "Bike enum is defined." ; 
   } else { 
      echo "Bike enum is not defined." ; 
   } 
?>

输出

以下是以下代码的结果:

Bike enum is defined.

示例 2

在这个示例中,我们将使用 **enum_exists()** 函数来检查不存在的枚举是否存在。在这种情况下,该函数将返回 false。

<?php
   // Check for enum
   if(enum_exists(Fruits::class)){ 
      echo "Fruits enum is defined" ; 
   } else { 
      echo "Fruits enum is not defined" ; 
   } 
?> 

输出

这将生成以下输出:

Fruits enum is not defined

示例 3

下面的代码使用 enum_exists() 检查特定命名空间内的枚举,并打印结果。

<?php
   // Define enum namespace
   namespace App\Enums;

   enum UserStatus {
       case Admin;
       case User;
   }
   
   var_dump(enum_exists('App\Enums\UserStatus'));  
?> 

输出

这将产生以下输出:

bool(true)

示例 4

在下面的示例中,我们使用 **enum_exists()** 函数来检查名为 Status 的简单枚举是否存在。

<?php
   // Define enum here
   enum Status {
      case Active;
      case Inactive;
   }
  
   var_dump(enum_exists('Status'));  
?> 

输出

以下是上述代码的输出:

bool(true)
php_function_reference.htm
广告