領収証発行サービス
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
3.7KB

  1. <?php
  2. namespace App\Codes;
  3. /**
  4. * JIS X 0401都道府県コード
  5. */
  6. enum PrefCode: string
  7. {
  8. case HOKKAIDO = '01';
  9. case AOMORI = '02';
  10. case IWATE = '03';
  11. case MIYAGI = '04';
  12. case AKITA = '05';
  13. case YAMAGATA = '06';
  14. case FUKUSHIMA = '07';
  15. case IBARAGI = '08';
  16. case TOCHIGI = '09';
  17. case GUNMA = '10';
  18. case SAITAMA = '11';
  19. case CHIBA = '12';
  20. case TOKYO = '13';
  21. case KANAGAWA = '14';
  22. case NIGATA = '15';
  23. case TOYAMA = '16';
  24. case ISHIKAWA = '17';
  25. case FUKUI = '18';
  26. case YAMANASHI = '19';
  27. case NAGANO = '20';
  28. case GIFU = '21';
  29. case SHIZUOKA = '22';
  30. case AICHI = '23';
  31. case MIE = '24';
  32. case SHIGA = '25';
  33. case KYOTO = '26';
  34. case OSAKA = '27';
  35. case HYOGO = '28';
  36. case NARA = '29';
  37. case WAKAYAMA = '30';
  38. case TOTTORI = '31';
  39. case SHIMANE = '32';
  40. case OKAYAMA = '33';
  41. case HIROSHIMA = '34';
  42. case YAMAGUCHI = '35';
  43. case TOKUSHIMA = '36';
  44. case KAGAWA = '37';
  45. case EHIME = '38';
  46. case KOCHI = '39';
  47. case FUKUOKA = '40';
  48. case SAGA = '41';
  49. case NAGASAKI = '42';
  50. case KUMAMOTO = '43';
  51. case OITA = '44';
  52. case MIYAZAKI = '45';
  53. case KAGOSHIMA = '46';
  54. case OKINAWA = '47';
  55. static private function getDictionary()
  56. {
  57. return [
  58. self::HOKKAIDO->value => '北海道',
  59. self::AOMORI->value => '青森',
  60. self::IWATE->value => '岩手',
  61. self::MIYAGI->value => '宮城',
  62. self::AKITA->value => '秋田',
  63. self::YAMAGATA->value => '山形',
  64. self::FUKUSHIMA->value => '福島',
  65. self::IBARAGI->value => '茨城',
  66. self::TOCHIGI->value => '栃木',
  67. self::GUNMA->value => '群馬',
  68. self::SAITAMA->value => '埼玉',
  69. self::CHIBA->value => '千葉',
  70. self::TOKYO->value => '東京',
  71. self::KANAGAWA->value => '神奈川',
  72. self::NIGATA->value => '新潟',
  73. self::TOYAMA->value => '富山',
  74. self::ISHIKAWA->value => '石川',
  75. self::FUKUI->value => '福井',
  76. self::YAMANASHI->value => '山梨',
  77. self::NAGANO->value => '長野',
  78. self::GIFU->value => '岐阜',
  79. self::SHIZUOKA->value => '静岡',
  80. self::AICHI->value => '愛知',
  81. self::MIE->value => '三重',
  82. self::SHIGA->value => '滋賀',
  83. self::KYOTO->value => '京都',
  84. self::OSAKA->value => '大阪',
  85. self::HYOGO->value => '兵庫',
  86. self::NARA->value => '奈良',
  87. self::WAKAYAMA->value => '和歌山',
  88. self::TOTTORI->value => '鳥取',
  89. self::SHIMANE->value => '島根',
  90. self::OKAYAMA->value => '岡山',
  91. self::HIROSHIMA->value => '広島',
  92. self::YAMAGUCHI->value => '山口',
  93. self::TOKUSHIMA->value => '徳島',
  94. self::KAGAWA->value => '香川',
  95. self::EHIME->value => '愛媛',
  96. self::KOCHI->value => '高知',
  97. self::FUKUOKA->value => '福岡',
  98. self::SAGA->value => '佐賀',
  99. self::NAGASAKI->value => '長崎',
  100. self::KUMAMOTO->value => '熊本',
  101. self::OITA->value => '大分',
  102. self::MIYAZAKI->value => '宮崎',
  103. self::KAGOSHIMA->value => '鹿児島',
  104. self::OKINAWA->value => '沖縄',
  105. ];
  106. }
  107. static public function toArray()
  108. {
  109. $ret = [];
  110. $dic = self::getDictionary();
  111. foreach (self::cases() as $val) {
  112. if (isset($dic[$val->value])) {
  113. $ret[][$val->value] = $dic[$val->value];
  114. }
  115. }
  116. return $ret;
  117. }
  118. }