EnumToArray.php 552 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace UCore\Enum;
  3. trait EnumToArray
  4. {
  5. public static function names(): array
  6. {
  7. return array_column(self::cases(), 'name');
  8. }
  9. public static function values(): array
  10. {
  11. return array_column(self::cases(), 'value');
  12. }
  13. public static function asArray(): array
  14. {
  15. if (empty(self::values())) {
  16. return self::names();
  17. }
  18. if (empty(self::names())) {
  19. return self::values();
  20. }
  21. return array_column(self::cases(), 'value', 'name');
  22. }
  23. }