Skip to content

Instantly share code, notes, and snippets.

@djaiss
Created June 15, 2012 19:13
Show Gist options
  • Select an option

  • Save djaiss/2938259 to your computer and use it in GitHub Desktop.

Select an option

Save djaiss/2938259 to your computer and use it in GitHub Desktop.
PHP List of countries
<?php
$countries =
array(
"AF" => "Afghanistan",
"AL" => "Albania",
"DZ" => "Algeria",
"AS" => "American Samoa",
"AD" => "Andorra",
"AO" => "Angola",
"AI" => "Anguilla",
"AQ" => "Antarctica",
"AG" => "Antigua and Barbuda",
"AR" => "Argentina",
"AM" => "Armenia",
"AW" => "Aruba",
"AU" => "Australia",
"AT" => "Austria",
"AZ" => "Azerbaijan",
"BS" => "Bahamas",
"BH" => "Bahrain",
"BD" => "Bangladesh",
"BB" => "Barbados",
"BY" => "Belarus",
"BE" => "Belgium",
"BZ" => "Belize",
"BJ" => "Benin",
"BM" => "Bermuda",
"BT" => "Bhutan",
"BO" => "Bolivia",
"BA" => "Bosnia and Herzegovina",
"BW" => "Botswana",
"BV" => "Bouvet Island",
"BR" => "Brazil",
"IO" => "British Indian Ocean Territory",
"BN" => "Brunei Darussalam",
"BG" => "Bulgaria",
"BF" => "Burkina Faso",
"BI" => "Burundi",
"KH" => "Cambodia",
"CM" => "Cameroon",
"CA" => "Canada",
"CV" => "Cape Verde",
"KY" => "Cayman Islands",
"CF" => "Central African Republic",
"TD" => "Chad",
"CL" => "Chile",
"CN" => "China",
"CX" => "Christmas Island",
"CC" => "Cocos (Keeling) Islands",
"CO" => "Colombia",
"KM" => "Comoros",
"CG" => "Congo",
"CD" => "Congo, the Democratic Republic of the",
"CK" => "Cook Islands",
"CR" => "Costa Rica",
"CI" => "Cote D'Ivoire",
"HR" => "Croatia",
"CU" => "Cuba",
"CY" => "Cyprus",
"CZ" => "Czech Republic",
"DK" => "Denmark",
"DJ" => "Djibouti",
"DM" => "Dominica",
"DO" => "Dominican Republic",
"EC" => "Ecuador",
"EG" => "Egypt",
"SV" => "El Salvador",
"GQ" => "Equatorial Guinea",
"ER" => "Eritrea",
"EE" => "Estonia",
"ET" => "Ethiopia",
"FK" => "Falkland Islands (Malvinas)",
"FO" => "Faroe Islands",
"FJ" => "Fiji",
"FI" => "Finland",
"FR" => "France",
"GF" => "French Guiana",
"PF" => "French Polynesia",
"TF" => "French Southern Territories",
"GA" => "Gabon",
"GM" => "Gambia",
"GE" => "Georgia",
"DE" => "Germany",
"GH" => "Ghana",
"GI" => "Gibraltar",
"GR" => "Greece",
"GL" => "Greenland",
"GD" => "Grenada",
"GP" => "Guadeloupe",
"GU" => "Guam",
"GT" => "Guatemala",
"GN" => "Guinea",
"GW" => "Guinea-Bissau",
"GY" => "Guyana",
"HT" => "Haiti",
"HM" => "Heard Island and Mcdonald Islands",
"VA" => "Holy See (Vatican City State)",
"HN" => "Honduras",
"HK" => "Hong Kong",
"HU" => "Hungary",
"IS" => "Iceland",
"IN" => "India",
"ID" => "Indonesia",
"IR" => "Iran, Islamic Republic of",
"IQ" => "Iraq",
"IE" => "Ireland",
"IL" => "Israel",
"IT" => "Italy",
"JM" => "Jamaica",
"JP" => "Japan",
"JO" => "Jordan",
"KZ" => "Kazakhstan",
"KE" => "Kenya",
"KI" => "Kiribati",
"KP" => "Korea, Democratic People's Republic of",
"KR" => "Korea, Republic of",
"KW" => "Kuwait",
"KG" => "Kyrgyzstan",
"LA" => "Lao People's Democratic Republic",
"LV" => "Latvia",
"LB" => "Lebanon",
"LS" => "Lesotho",
"LR" => "Liberia",
"LY" => "Libyan Arab Jamahiriya",
"LI" => "Liechtenstein",
"LT" => "Lithuania",
"LU" => "Luxembourg",
"MO" => "Macao",
"MK" => "Macedonia, the Former Yugoslav Republic of",
"MG" => "Madagascar",
"MW" => "Malawi",
"MY" => "Malaysia",
"MV" => "Maldives",
"ML" => "Mali",
"MT" => "Malta",
"MH" => "Marshall Islands",
"MQ" => "Martinique",
"MR" => "Mauritania",
"MU" => "Mauritius",
"YT" => "Mayotte",
"MX" => "Mexico",
"FM" => "Micronesia, Federated States of",
"MD" => "Moldova, Republic of",
"MC" => "Monaco",
"MN" => "Mongolia",
"MS" => "Montserrat",
"MA" => "Morocco",
"MZ" => "Mozambique",
"MM" => "Myanmar",
"NA" => "Namibia",
"NR" => "Nauru",
"NP" => "Nepal",
"NL" => "Netherlands",
"AN" => "Netherlands Antilles",
"NC" => "New Caledonia",
"NZ" => "New Zealand",
"NI" => "Nicaragua",
"NE" => "Niger",
"NG" => "Nigeria",
"NU" => "Niue",
"NF" => "Norfolk Island",
"MP" => "Northern Mariana Islands",
"NO" => "Norway",
"OM" => "Oman",
"PK" => "Pakistan",
"PW" => "Palau",
"PS" => "Palestinian Territory, Occupied",
"PA" => "Panama",
"PG" => "Papua New Guinea",
"PY" => "Paraguay",
"PE" => "Peru",
"PH" => "Philippines",
"PN" => "Pitcairn",
"PL" => "Poland",
"PT" => "Portugal",
"PR" => "Puerto Rico",
"QA" => "Qatar",
"RE" => "Reunion",
"RO" => "Romania",
"RU" => "Russian Federation",
"RW" => "Rwanda",
"SH" => "Saint Helena",
"KN" => "Saint Kitts and Nevis",
"LC" => "Saint Lucia",
"PM" => "Saint Pierre and Miquelon",
"VC" => "Saint Vincent and the Grenadines",
"WS" => "Samoa",
"SM" => "San Marino",
"ST" => "Sao Tome and Principe",
"SA" => "Saudi Arabia",
"SN" => "Senegal",
"CS" => "Serbia and Montenegro",
"SC" => "Seychelles",
"SL" => "Sierra Leone",
"SG" => "Singapore",
"SK" => "Slovakia",
"SI" => "Slovenia",
"SB" => "Solomon Islands",
"SO" => "Somalia",
"ZA" => "South Africa",
"GS" => "South Georgia and the South Sandwich Islands",
"ES" => "Spain",
"LK" => "Sri Lanka",
"SD" => "Sudan",
"SR" => "Suriname",
"SJ" => "Svalbard and Jan Mayen",
"SZ" => "Swaziland",
"SE" => "Sweden",
"CH" => "Switzerland",
"SY" => "Syrian Arab Republic",
"TW" => "Taiwan, Province of China",
"TJ" => "Tajikistan",
"TZ" => "Tanzania, United Republic of",
"TH" => "Thailand",
"TL" => "Timor-Leste",
"TG" => "Togo",
"TK" => "Tokelau",
"TO" => "Tonga",
"TT" => "Trinidad and Tobago",
"TN" => "Tunisia",
"TR" => "Turkey",
"TM" => "Turkmenistan",
"TC" => "Turks and Caicos Islands",
"TV" => "Tuvalu",
"UG" => "Uganda",
"UA" => "Ukraine",
"AE" => "United Arab Emirates",
"GB" => "United Kingdom",
"US" => "United States",
"UM" => "United States Minor Outlying Islands",
"UY" => "Uruguay",
"UZ" => "Uzbekistan",
"VU" => "Vanuatu",
"VE" => "Venezuela",
"VN" => "Viet Nam",
"VG" => "Virgin Islands, British",
"VI" => "Virgin Islands, U.s.",
"WF" => "Wallis and Futuna",
"EH" => "Western Sahara",
"YE" => "Yemen",
"ZM" => "Zambia",
"ZW" => "Zimbabwe"
);
?>
@hagenbuch
Copy link

What we REALLY need is this list in all languages!

@xem
Copy link

xem commented Nov 2, 2023

define "all languages"

@hagenbuch
Copy link

All that can be written in Unicode :)

@xem
Copy link

xem commented Nov 3, 2023

well, thanks for proposing to do it yourself, please share your results here when you're done :)

@zerogenics
Copy link

Wow i love github

@aminkhoshzahmat
Copy link

<?php

namespace App\Entity\Enums;

define("COUNTRY_CODE", 'code');
define("COUNTRY_PHONE", 'phone');
define("COUNTRY_NAME", 'name');

enum CountryType
{
    case BANGLADESH;
    case BELGIUM;
    case BURKINA_FASO;
    case BULGARIA;
    case BOSNIA_AND_HERZEGOVINA;
    case BARBADOS;
    case WALLIS_AND_FUTUNA;
    case SAINT_BARTHELEMY;
    case BERMUDA;
    case BRUNEI;
    case BOLIVIA;
    case BAHRAIN;
    case BURUNDI;
    case BENIN;
    case BHUTAN;
    case JAMAICA;
    case BOUVET_ISLAND;
    case BOTSWANA;
    case SAMOA;
    case BONAIRE_SAINT_EUSTATIUS_AND_SABA;
    case BRAZIL;
    case BAHAMAS;
    case JERSEY;
    case BELARUS;
    case BELIZE;
    case RUSSIA;
    case RWANDA;
    case SERBIA;
    case EAST_TIMOR;
    case REUNION;
    case TURKMENISTAN;
    case TAJIKISTAN;
    case ROMANIA;
    case TOKELAU;
    case GUINEA_BISSAU;
    case GUAM;
    case GUATEMALA;
    case SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS;
    case GREECE;
    case EQUATORIAL_GUINEA;
    case GUADELOUPE;
    case JAPAN;
    case GUYANA;
    case GUERNSEY;
    case FRENCH_GUIANA;
    case GEORGIA;
    case GRENADA;
    case UNITED_KINGDOM;
    case GABON;
    case EL_SALVADOR;
    case GUINEA;
    case GAMBIA;
    case GREENLAND;
    case GIBRALTAR;
    case GHANA;
    case OMAN;
    case TUNISIA;
    case JORDAN;
    case CROATIA;
    case HAITI;
    case HUNGARY;
    case HONG_KONG;
    case HONDURAS;
    case HEARD_ISLAND_AND_MCDONALD_ISLANDS;
    case VENEZUELA;
    case PUERTO_RICO;
    case PALESTINIAN_TERRITORY;
    case PALAU;
    case PORTUGAL;
    case SVALBARD_AND_JAN_MAYEN;
    case PARAGUAY;
    case IRAQ;
    case PANAMA;
    case FRENCH_POLYNESIA;
    case PAPUA_NEW_GUINEA;
    case PERU;
    case PAKISTAN;
    case PHILIPPINES;
    case PITCAIRN;
    case POLAND;
    case SAINT_PIERRE_AND_MIQUELON;
    case ZAMBIA;
    case WESTERN_SAHARA;
    case ESTONIA;
    case EGYPT;
    case SOUTH_AFRICA;
    case ECUADOR;
    case ITALY;
    case VIETNAM;
    case SOLOMON_ISLANDS;
    case ETHIOPIA;
    case SOMALIA;
    case ZIMBABWE;
    case SAUDI_ARABIA;
    case SPAIN;
    case ERITREA;
    case MONTENEGRO;
    case MOLDOVA;
    case MADAGASCAR;
    case SAINT_MARTIN;
    case MOROCCO;
    case MONACO;
    case UZBEKISTAN;
    case MYANMAR;
    case MALI;
    case MACAO;
    case MONGOLIA;
    case MARSHALL_ISLANDS;
    case MACEDONIA;
    case MAURITIUS;
    case MALTA;
    case MALAWI;
    case MALDIVES;
    case MARTINIQUE;
    case NORTHERN_MARIANA_ISLANDS;
    case MONTSERRAT;
    case MAURITANIA;
    case ISLE_OF_MAN;
    case UGANDA;
    case TANZANIA;
    case MALAYSIA;
    case MEXICO;
    case ISRAEL;
    case FRANCE;
    case BRITISH_INDIAN_OCEAN_TERRITORY;
    case SAINT_HELENA;
    case FINLAND;
    case FIJI;
    case FALKLAND_ISLANDS;
    case MICRONESIA;
    case FAROE_ISLANDS;
    case NICARAGUA;
    case NETHERLANDS;
    case NORWAY;
    case NAMIBIA;
    case VANUATU;
    case NEW_CALEDONIA;
    case NIGER;
    case NORFOLK_ISLAND;
    case NIGERIA;
    case NEW_ZEALAND;
    case NEPAL;
    case NAURU;
    case NIUE;
    case COOK_ISLANDS;
    case KOSOVO;
    case IVORY_COAST;
    case SWITZERLAND;
    case COLOMBIA;
    case CHINA;
    case CAMEROON;
    case CHILE;
    case COCOS_ISLANDS;
    case CANADA;
    case REPUBLIC_OF_THE_CONGO;
    case CENTRAL_AFRICAN_REPUBLIC;
    case DEMOCRATIC_REPUBLIC_OF_THE_CONGO;
    case CZECH_REPUBLIC;
    case CYPRUS;
    case CHRISTMAS_ISLAND;
    case COSTA_RICA;
    case CURACAO;
    case CAPE_VERDE;
    case CUBA;
    case SWAZILAND;
    case SYRIA;
    case SINT_MAARTEN;
    case KYRGYZSTAN;
    case KENYA;
    case SOUTH_SUDAN;
    case SURINAME;
    case KIRIBATI;
    case CAMBODIA;
    case SAINT_KITTS_AND_NEVIS;
    case COMOROS;
    case SAO_TOME_AND_PRINCIPE;
    case SLOVAKIA;
    case SOUTH_KOREA;
    case SLOVENIA;
    case NORTH_KOREA;
    case KUWAIT;
    case SENEGAL;
    case SAN_MARINO;
    case SIERRA_LEONE;
    case SEYCHELLES;
    case KAZAKHSTAN;
    case CAYMAN_ISLANDS;
    case SINGAPORE;
    case SWEDEN;
    case SUDAN;
    case DOMINICAN_REPUBLIC;
    case DOMINICA;
    case DJIBOUTI;
    case DENMARK;
    case BRITISH_VIRGIN_ISLANDS;
    case GERMANY;
    case YEMEN;
    case ALGERIA;
    case UNITED_STATES;
    case URUGUAY;
    case MAYOTTE;
    case UNITED_STATES_MINOR_OUTLYING_ISLANDS;
    case LEBANON;
    case SAINT_LUCIA;
    case LAOS;
    case TUVALU;
    case TAIWAN;
    case TRINIDAD_AND_TOBAGO;
    case TURKEY;
    case SRI_LANKA;
    case LIECHTENSTEIN;
    case LATVIA;
    case TONGA;
    case LITHUANIA;
    case LUXEMBOURG;
    case LIBERIA;
    case LESOTHO;
    case THAILAND;
    case FRENCH_SOUTHERN_TERRITORIES;
    case TOGO;
    case CHAD;
    case TURKS_AND_CAICOS_ISLANDS;
    case LIBYA;
    case VATICAN;
    case SAINT_VINCENT_AND_THE_GRENADINES;
    case UNITED_ARAB_EMIRATES;
    case ANDORRA;
    case ANTIGUA_AND_BARBUDA;
    case AFGHANISTAN;
    case ANGUILLA;
    case US_VIRGIN_ISLANDS;
    case ICELAND;
    case IRAN;
    case ARMENIA;
    case ALBANIA;
    case ANGOLA;
    case ANTARCTICA;
    case AMERICAN_SAMOA;
    case ARGENTINA;
    case AUSTRALIA;
    case AUSTRIA;
    case ARUBA;
    case INDIA;
    case ALAND_ISLANDS;
    case AZERBAIJAN;
    case IRELAND;
    case INDONESIA;
    case UKRAINE;
    case QATAR;
    case MOZAMBIQUE;

    public function getCode(): string
    {
        return $this->getData(COUNTRY_CODE);
    }

    public function getNumber(): string
    {
        return $this->getData(COUNTRY_PHONE);
    }

    public function getName(): string
    {
        return $this->getData(COUNTRY_NAME);
    }

    private function getData($type)
    {

        return match ($this) {

            self::BANGLADESH => [COUNTRY_NAME => 'Bangladesh', COUNTRY_CODE => 'BD', COUNTRY_PHONE => '880'][$type],
            self::BELGIUM => [COUNTRY_NAME => 'Belgium', COUNTRY_CODE => 'BE', COUNTRY_PHONE => '32'][$type],
            self::BURKINA_FASO => [COUNTRY_NAME => 'Burkina Faso', COUNTRY_CODE => 'BF', COUNTRY_PHONE => '226'][$type],
            self::BULGARIA => [COUNTRY_NAME => 'Bulgaria', COUNTRY_CODE => 'BG', COUNTRY_PHONE => '359'][$type],
            self::BOSNIA_AND_HERZEGOVINA => [COUNTRY_NAME => 'Bosnia and Herzegovina', COUNTRY_CODE => 'BA', COUNTRY_PHONE => '387'][$type],
            self::BARBADOS => [COUNTRY_NAME => 'Barbados', COUNTRY_CODE => 'BB', COUNTRY_PHONE => '1-246'][$type],
            self::WALLIS_AND_FUTUNA => [COUNTRY_NAME => 'Wallis and Futuna', COUNTRY_CODE => 'WF', COUNTRY_PHONE => '681'][$type],
            self::SAINT_BARTHELEMY => [COUNTRY_NAME => 'Saint Barthelemy', COUNTRY_CODE => 'BL', COUNTRY_PHONE => '590'][$type],
            self::BERMUDA => [COUNTRY_NAME => 'Bermuda', COUNTRY_CODE => 'BM', COUNTRY_PHONE => '1-441'][$type],
            self::BRUNEI => [COUNTRY_NAME => 'Brunei', COUNTRY_CODE => 'BN', COUNTRY_PHONE => '673'][$type],
            self::BOLIVIA => [COUNTRY_NAME => 'Bolivia', COUNTRY_CODE => 'BO', COUNTRY_PHONE => '591'][$type],
            self::BAHRAIN => [COUNTRY_NAME => 'Bahrain', COUNTRY_CODE => 'BH', COUNTRY_PHONE => '973'][$type],
            self::BURUNDI => [COUNTRY_NAME => 'Burundi', COUNTRY_CODE => 'BI', COUNTRY_PHONE => '257'][$type],
            self::BENIN => [COUNTRY_NAME => 'Benin', COUNTRY_CODE => 'BJ', COUNTRY_PHONE => '229'][$type],
            self::BHUTAN => [COUNTRY_NAME => 'Bhutan', COUNTRY_CODE => 'BT', COUNTRY_PHONE => '975'][$type],
            self::JAMAICA => [COUNTRY_NAME => 'Jamaica', COUNTRY_CODE => 'JM', COUNTRY_PHONE => '1-876'][$type],
            self::BOUVET_ISLAND => [COUNTRY_NAME => 'Bouvet Island', COUNTRY_CODE => 'BV', COUNTRY_PHONE => ''][$type],
            self::BOTSWANA => [COUNTRY_NAME => 'Botswana', COUNTRY_CODE => 'BW', COUNTRY_PHONE => '267'][$type],
            self::SAMOA => [COUNTRY_NAME => 'Samoa', COUNTRY_CODE => 'WS', COUNTRY_PHONE => '685'][$type],
            self::BONAIRE_SAINT_EUSTATIUS_AND_SABA => [COUNTRY_NAME => 'Bonaire, Saint Eustatius and Saba ', COUNTRY_CODE => 'BQ', COUNTRY_PHONE => '599'][$type],
            self::BRAZIL => [COUNTRY_NAME => 'Brazil', COUNTRY_CODE => 'BR', COUNTRY_PHONE => '55'][$type],
            self::BAHAMAS => [COUNTRY_NAME => 'Bahamas', COUNTRY_CODE => 'BS', COUNTRY_PHONE => '1-242'][$type],
            self::JERSEY => [COUNTRY_NAME => 'Jersey', COUNTRY_CODE => 'JE', COUNTRY_PHONE => '44-1534'][$type],
            self::BELARUS => [COUNTRY_NAME => 'Belarus', COUNTRY_CODE => 'BY', COUNTRY_PHONE => '375'][$type],
            self::BELIZE => [COUNTRY_NAME => 'Belize', COUNTRY_CODE => 'BZ', COUNTRY_PHONE => '501'][$type],
            self::RUSSIA => [COUNTRY_NAME => 'Russia', COUNTRY_CODE => 'RU', COUNTRY_PHONE => '7'][$type],
            self::RWANDA => [COUNTRY_NAME => 'Rwanda', COUNTRY_CODE => 'RW', COUNTRY_PHONE => '250'][$type],
            self::SERBIA => [COUNTRY_NAME => 'Serbia', COUNTRY_CODE => 'RS', COUNTRY_PHONE => '381'][$type],
            self::EAST_TIMOR => [COUNTRY_NAME => 'East Timor', COUNTRY_CODE => 'TL', COUNTRY_PHONE => '670'][$type],
            self::REUNION => [COUNTRY_NAME => 'Reunion', COUNTRY_CODE => 'RE', COUNTRY_PHONE => '262'][$type],
            self::TURKMENISTAN => [COUNTRY_NAME => 'Turkmenistan', COUNTRY_CODE => 'TM', COUNTRY_PHONE => '993'][$type],
            self::TAJIKISTAN => [COUNTRY_NAME => 'Tajikistan', COUNTRY_CODE => 'TJ', COUNTRY_PHONE => '992'][$type],
            self::ROMANIA => [COUNTRY_NAME => 'Romania', COUNTRY_CODE => 'RO', COUNTRY_PHONE => '40'][$type],
            self::TOKELAU => [COUNTRY_NAME => 'Tokelau', COUNTRY_CODE => 'TK', COUNTRY_PHONE => '690'][$type],
            self::GUINEA_BISSAU => [COUNTRY_NAME => 'Guinea-Bissau', COUNTRY_CODE => 'GW', COUNTRY_PHONE => '245'][$type],
            self::GUAM => [COUNTRY_NAME => 'Guam', COUNTRY_CODE => 'GU', COUNTRY_PHONE => '1-671'][$type],
            self::GUATEMALA => [COUNTRY_NAME => 'Guatemala', COUNTRY_CODE => 'GT', COUNTRY_PHONE => '502'][$type],
            self::SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS => [COUNTRY_NAME => 'South Georgia and the South Sandwich Islands', COUNTRY_CODE => 'GS', COUNTRY_PHONE => ''][$type],
            self::GREECE => [COUNTRY_NAME => 'Greece', COUNTRY_CODE => 'GR', COUNTRY_PHONE => '30'][$type],
            self::EQUATORIAL_GUINEA => [COUNTRY_NAME => 'Equatorial Guinea', COUNTRY_CODE => 'GQ', COUNTRY_PHONE => '240'][$type],
            self::GUADELOUPE => [COUNTRY_NAME => 'Guadeloupe', COUNTRY_CODE => 'GP', COUNTRY_PHONE => '590'][$type],
            self::JAPAN => [COUNTRY_NAME => 'Japan', COUNTRY_CODE => 'JP', COUNTRY_PHONE => '81'][$type],
            self::GUYANA => [COUNTRY_NAME => 'Guyana', COUNTRY_CODE => 'GY', COUNTRY_PHONE => '592'][$type],
            self::GUERNSEY => [COUNTRY_NAME => 'Guernsey', COUNTRY_CODE => 'GG', COUNTRY_PHONE => '44-1481'][$type],
            self::FRENCH_GUIANA => [COUNTRY_NAME => 'French Guiana', COUNTRY_CODE => 'GF', COUNTRY_PHONE => '594'][$type],
            self::GEORGIA => [COUNTRY_NAME => 'Georgia', COUNTRY_CODE => 'GE', COUNTRY_PHONE => '995'][$type],
            self::GRENADA => [COUNTRY_NAME => 'Grenada', COUNTRY_CODE => 'GD', COUNTRY_PHONE => '1-473'][$type],
            self::UNITED_KINGDOM => [COUNTRY_NAME => 'United Kingdom', COUNTRY_CODE => 'GB', COUNTRY_PHONE => '44'][$type],
            self::GABON => [COUNTRY_NAME => 'Gabon', COUNTRY_CODE => 'GA', COUNTRY_PHONE => '241'][$type],
            self::EL_SALVADOR => [COUNTRY_NAME => 'El Salvador', COUNTRY_CODE => 'SV', COUNTRY_PHONE => '503'][$type],
            self::GUINEA => [COUNTRY_NAME => 'Guinea', COUNTRY_CODE => 'GN', COUNTRY_PHONE => '224'][$type],
            self::GAMBIA => [COUNTRY_NAME => 'Gambia', COUNTRY_CODE => 'GM', COUNTRY_PHONE => '220'][$type],
            self::GREENLAND => [COUNTRY_NAME => 'Greenland', COUNTRY_CODE => 'GL', COUNTRY_PHONE => '299'][$type],
            self::GIBRALTAR => [COUNTRY_NAME => 'Gibraltar', COUNTRY_CODE => 'GI', COUNTRY_PHONE => '350'][$type],
            self::GHANA => [COUNTRY_NAME => 'Ghana', COUNTRY_CODE => 'GH', COUNTRY_PHONE => '233'][$type],
            self::OMAN => [COUNTRY_NAME => 'Oman', COUNTRY_CODE => 'OM', COUNTRY_PHONE => '968'][$type],
            self::TUNISIA => [COUNTRY_NAME => 'Tunisia', COUNTRY_CODE => 'TN', COUNTRY_PHONE => '216'][$type],
            self::JORDAN => [COUNTRY_NAME => 'Jordan', COUNTRY_CODE => 'JO', COUNTRY_PHONE => '962'][$type],
            self::CROATIA => [COUNTRY_NAME => 'Croatia', COUNTRY_CODE => 'HR', COUNTRY_PHONE => '385'][$type],
            self::HAITI => [COUNTRY_NAME => 'Haiti', COUNTRY_CODE => 'HT', COUNTRY_PHONE => '509'][$type],
            self::HUNGARY => [COUNTRY_NAME => 'Hungary', COUNTRY_CODE => 'HU', COUNTRY_PHONE => '36'][$type],
            self::HONG_KONG => [COUNTRY_NAME => 'Hong Kong', COUNTRY_CODE => 'HK', COUNTRY_PHONE => '852'][$type],
            self::HONDURAS => [COUNTRY_NAME => 'Honduras', COUNTRY_CODE => 'HN', COUNTRY_PHONE => '504'][$type],
            self::HEARD_ISLAND_AND_MCDONALD_ISLANDS => [COUNTRY_NAME => 'Heard Island and McDonald Islands', COUNTRY_CODE => 'HM', COUNTRY_PHONE => ' '][$type],
            self::VENEZUELA => [COUNTRY_NAME => 'Venezuela', COUNTRY_CODE => 'VE', COUNTRY_PHONE => '58'][$type],
            self::PUERTO_RICO => [COUNTRY_NAME => 'Puerto Rico', COUNTRY_CODE => 'PR', COUNTRY_PHONE => '1-787 and 1-939'][$type],
            self::PALESTINIAN_TERRITORY => [COUNTRY_NAME => 'Palestinian Territory', COUNTRY_CODE => 'PS', COUNTRY_PHONE => '970'][$type],
            self::PALAU => [COUNTRY_NAME => 'Palau', COUNTRY_CODE => 'PW', COUNTRY_PHONE => '680'][$type],
            self::PORTUGAL => [COUNTRY_NAME => 'Portugal', COUNTRY_CODE => 'PT', COUNTRY_PHONE => '351'][$type],
            self::SVALBARD_AND_JAN_MAYEN => [COUNTRY_NAME => 'Svalbard and Jan Mayen', COUNTRY_CODE => 'SJ', COUNTRY_PHONE => '47'][$type],
            self::PARAGUAY => [COUNTRY_NAME => 'Paraguay', COUNTRY_CODE => 'PY', COUNTRY_PHONE => '595'][$type],
            self::IRAQ => [COUNTRY_NAME => 'Iraq', COUNTRY_CODE => 'IQ', COUNTRY_PHONE => '964'][$type],
            self::PANAMA => [COUNTRY_NAME => 'Panama', COUNTRY_CODE => 'PA', COUNTRY_PHONE => '507'][$type],
            self::FRENCH_POLYNESIA => [COUNTRY_NAME => 'French Polynesia', COUNTRY_CODE => 'PF', COUNTRY_PHONE => '689'][$type],
            self::PAPUA_NEW_GUINEA => [COUNTRY_NAME => 'Papua New Guinea', COUNTRY_CODE => 'PG', COUNTRY_PHONE => '675'][$type],
            self::PERU => [COUNTRY_NAME => 'Peru', COUNTRY_CODE => 'PE', COUNTRY_PHONE => '51'][$type],
            self::PAKISTAN => [COUNTRY_NAME => 'Pakistan', COUNTRY_CODE => 'PK', COUNTRY_PHONE => '92'][$type],
            self::PHILIPPINES => [COUNTRY_NAME => 'Philippines', COUNTRY_CODE => 'PH', COUNTRY_PHONE => '63'][$type],
            self::PITCAIRN => [COUNTRY_NAME => 'Pitcairn', COUNTRY_CODE => 'PN', COUNTRY_PHONE => '870'][$type],
            self::POLAND => [COUNTRY_NAME => 'Poland', COUNTRY_CODE => 'PL', COUNTRY_PHONE => '48'][$type],
            self::SAINT_PIERRE_AND_MIQUELON => [COUNTRY_NAME => 'Saint Pierre and Miquelon', COUNTRY_CODE => 'PM', COUNTRY_PHONE => '508'][$type],
            self::ZAMBIA => [COUNTRY_NAME => 'Zambia', COUNTRY_CODE => 'ZM', COUNTRY_PHONE => '260'][$type],
            self::WESTERN_SAHARA => [COUNTRY_NAME => 'Western Sahara', COUNTRY_CODE => 'EH', COUNTRY_PHONE => '212'][$type],
            self::ESTONIA => [COUNTRY_NAME => 'Estonia', COUNTRY_CODE => 'EE', COUNTRY_PHONE => '372'][$type],
            self::EGYPT => [COUNTRY_NAME => 'Egypt', COUNTRY_CODE => 'EG', COUNTRY_PHONE => '20'][$type],
            self::SOUTH_AFRICA => [COUNTRY_NAME => 'South Africa', COUNTRY_CODE => 'ZA', COUNTRY_PHONE => '27'][$type],
            self::ECUADOR => [COUNTRY_NAME => 'Ecuador', COUNTRY_CODE => 'EC', COUNTRY_PHONE => '593'][$type],
            self::ITALY => [COUNTRY_NAME => 'Italy', COUNTRY_CODE => 'IT', COUNTRY_PHONE => '39'][$type],
            self::VIETNAM => [COUNTRY_NAME => 'Vietnam', COUNTRY_CODE => 'VN', COUNTRY_PHONE => '84'][$type],
            self::SOLOMON_ISLANDS => [COUNTRY_NAME => 'Solomon Islands', COUNTRY_CODE => 'SB', COUNTRY_PHONE => '677'][$type],
            self::ETHIOPIA => [COUNTRY_NAME => 'Ethiopia', COUNTRY_CODE => 'ET', COUNTRY_PHONE => '251'][$type],
            self::SOMALIA => [COUNTRY_NAME => 'Somalia', COUNTRY_CODE => 'SO', COUNTRY_PHONE => '252'][$type],
            self::ZIMBABWE => [COUNTRY_NAME => 'Zimbabwe', COUNTRY_CODE => 'ZW', COUNTRY_PHONE => '263'][$type],
            self::SAUDI_ARABIA => [COUNTRY_NAME => 'Saudi Arabia', COUNTRY_CODE => 'SA', COUNTRY_PHONE => '966'][$type],
            self::SPAIN => [COUNTRY_NAME => 'Spain', COUNTRY_CODE => 'ES', COUNTRY_PHONE => '34'][$type],
            self::ERITREA => [COUNTRY_NAME => 'Eritrea', COUNTRY_CODE => 'ER', COUNTRY_PHONE => '291'][$type],
            self::MONTENEGRO => [COUNTRY_NAME => 'Montenegro', COUNTRY_CODE => 'ME', COUNTRY_PHONE => '382'][$type],
            self::MOLDOVA => [COUNTRY_NAME => 'Moldova', COUNTRY_CODE => 'MD', COUNTRY_PHONE => '373'][$type],
            self::MADAGASCAR => [COUNTRY_NAME => 'Madagascar', COUNTRY_CODE => 'MG', COUNTRY_PHONE => '261'][$type],
            self::SAINT_MARTIN => [COUNTRY_NAME => 'Saint Martin', COUNTRY_CODE => 'MF', COUNTRY_PHONE => '590'][$type],
            self::MOROCCO => [COUNTRY_NAME => 'Morocco', COUNTRY_CODE => 'MA', COUNTRY_PHONE => '212'][$type],
            self::MONACO => [COUNTRY_NAME => 'Monaco', COUNTRY_CODE => 'MC', COUNTRY_PHONE => '377'][$type],
            self::UZBEKISTAN => [COUNTRY_NAME => 'Uzbekistan', COUNTRY_CODE => 'UZ', COUNTRY_PHONE => '998'][$type],
            self::MYANMAR => [COUNTRY_NAME => 'Myanmar', COUNTRY_CODE => 'MM', COUNTRY_PHONE => '95'][$type],
            self::MALI => [COUNTRY_NAME => 'Mali', COUNTRY_CODE => 'ML', COUNTRY_PHONE => '223'][$type],
            self::MACAO => [COUNTRY_NAME => 'Macao', COUNTRY_CODE => 'MO', COUNTRY_PHONE => '853'][$type],
            self::MONGOLIA => [COUNTRY_NAME => 'Mongolia', COUNTRY_CODE => 'MN', COUNTRY_PHONE => '976'][$type],
            self::MARSHALL_ISLANDS => [COUNTRY_NAME => 'Marshall Islands', COUNTRY_CODE => 'MH', COUNTRY_PHONE => '692'][$type],
            self::MACEDONIA => [COUNTRY_NAME => 'Macedonia', COUNTRY_CODE => 'MK', COUNTRY_PHONE => '389'][$type],
            self::MAURITIUS => [COUNTRY_NAME => 'Mauritius', COUNTRY_CODE => 'MU', COUNTRY_PHONE => '230'][$type],
            self::MALTA => [COUNTRY_NAME => 'Malta', COUNTRY_CODE => 'MT', COUNTRY_PHONE => '356'][$type],
            self::MALAWI => [COUNTRY_NAME => 'Malawi', COUNTRY_CODE => 'MW', COUNTRY_PHONE => '265'][$type],
            self::MALDIVES => [COUNTRY_NAME => 'Maldives', COUNTRY_CODE => 'MV', COUNTRY_PHONE => '960'][$type],
            self::MARTINIQUE => [COUNTRY_NAME => 'Martinique', COUNTRY_CODE => 'MQ', COUNTRY_PHONE => '596'][$type],
            self::NORTHERN_MARIANA_ISLANDS => [COUNTRY_NAME => 'Northern Mariana Islands', COUNTRY_CODE => 'MP', COUNTRY_PHONE => '1-670'][$type],
            self::MONTSERRAT => [COUNTRY_NAME => 'Montserrat', COUNTRY_CODE => 'MS', COUNTRY_PHONE => '1-664'][$type],
            self::MAURITANIA => [COUNTRY_NAME => 'Mauritania', COUNTRY_CODE => 'MR', COUNTRY_PHONE => '222'][$type],
            self::ISLE_OF_MAN => [COUNTRY_NAME => 'Isle of Man', COUNTRY_CODE => 'IM', COUNTRY_PHONE => '44-1624'][$type],
            self::UGANDA => [COUNTRY_NAME => 'Uganda', COUNTRY_CODE => 'UG', COUNTRY_PHONE => '256'][$type],
            self::TANZANIA => [COUNTRY_NAME => 'Tanzania', COUNTRY_CODE => 'TZ', COUNTRY_PHONE => '255'][$type],
            self::MALAYSIA => [COUNTRY_NAME => 'Malaysia', COUNTRY_CODE => 'MY', COUNTRY_PHONE => '60'][$type],
            self::MEXICO => [COUNTRY_NAME => 'Mexico', COUNTRY_CODE => 'MX', COUNTRY_PHONE => '52'][$type],
            self::ISRAEL => [COUNTRY_NAME => 'Israel', COUNTRY_CODE => 'IL', COUNTRY_PHONE => '972'][$type],
            self::FRANCE => [COUNTRY_NAME => 'France', COUNTRY_CODE => 'FR', COUNTRY_PHONE => '33'][$type],
            self::BRITISH_INDIAN_OCEAN_TERRITORY => [COUNTRY_NAME => 'British Indian Ocean Territory', COUNTRY_CODE => 'IO', COUNTRY_PHONE => '246'][$type],
            self::SAINT_HELENA => [COUNTRY_NAME => 'Saint Helena', COUNTRY_CODE => 'SH', COUNTRY_PHONE => '290'][$type],
            self::FINLAND => [COUNTRY_NAME => 'Finland', COUNTRY_CODE => 'FI', COUNTRY_PHONE => '358'][$type],
            self::FIJI => [COUNTRY_NAME => 'Fiji', COUNTRY_CODE => 'FJ', COUNTRY_PHONE => '679'][$type],
            self::FALKLAND_ISLANDS => [COUNTRY_NAME => 'Falkland Islands', COUNTRY_CODE => 'FK', COUNTRY_PHONE => '500'][$type],
            self::MICRONESIA => [COUNTRY_NAME => 'Micronesia', COUNTRY_CODE => 'FM', COUNTRY_PHONE => '691'][$type],
            self::FAROE_ISLANDS => [COUNTRY_NAME => 'Faroe Islands', COUNTRY_CODE => 'FO', COUNTRY_PHONE => '298'][$type],
            self::NICARAGUA => [COUNTRY_NAME => 'Nicaragua', COUNTRY_CODE => 'NI', COUNTRY_PHONE => '505'][$type],
            self::NETHERLANDS => [COUNTRY_NAME => 'Netherlands', COUNTRY_CODE => 'NL', COUNTRY_PHONE => '31'][$type],
            self::NORWAY => [COUNTRY_NAME => 'Norway', COUNTRY_CODE => 'NO', COUNTRY_PHONE => '47'][$type],
            self::NAMIBIA => [COUNTRY_NAME => 'Namibia', COUNTRY_CODE => 'NA', COUNTRY_PHONE => '264'][$type],
            self::VANUATU => [COUNTRY_NAME => 'Vanuatu', COUNTRY_CODE => 'VU', COUNTRY_PHONE => '678'][$type],
            self::NEW_CALEDONIA => [COUNTRY_NAME => 'New Caledonia', COUNTRY_CODE => 'NC', COUNTRY_PHONE => '687'][$type],
            self::NIGER => [COUNTRY_NAME => 'Niger', COUNTRY_CODE => 'NE', COUNTRY_PHONE => '227'][$type],
            self::NORFOLK_ISLAND => [COUNTRY_NAME => 'Norfolk Island', COUNTRY_CODE => 'NF', COUNTRY_PHONE => '672'][$type],
            self::NIGERIA => [COUNTRY_NAME => 'Nigeria', COUNTRY_CODE => 'NG', COUNTRY_PHONE => '234'][$type],
            self::NEW_ZEALAND => [COUNTRY_NAME => 'New Zealand', COUNTRY_CODE => 'NZ', COUNTRY_PHONE => '64'][$type],
            self::NEPAL => [COUNTRY_NAME => 'Nepal', COUNTRY_CODE => 'NP', COUNTRY_PHONE => '977'][$type],
            self::NAURU => [COUNTRY_NAME => 'Nauru', COUNTRY_CODE => 'NR', COUNTRY_PHONE => '674'][$type],
            self::NIUE => [COUNTRY_NAME => 'Niue', COUNTRY_CODE => 'NU', COUNTRY_PHONE => '683'][$type],
            self::COOK_ISLANDS => [COUNTRY_NAME => 'Cook Islands', COUNTRY_CODE => 'CK', COUNTRY_PHONE => '682'][$type],
            self::KOSOVO => [COUNTRY_NAME => 'Kosovo', COUNTRY_CODE => 'XK', COUNTRY_PHONE => ''][$type],
            self::IVORY_COAST => [COUNTRY_NAME => 'Ivory Coast', COUNTRY_CODE => 'CI', COUNTRY_PHONE => '225'][$type],
            self::SWITZERLAND => [COUNTRY_NAME => 'Switzerland', COUNTRY_CODE => 'CH', COUNTRY_PHONE => '41'][$type],
            self::COLOMBIA => [COUNTRY_NAME => 'Colombia', COUNTRY_CODE => 'CO', COUNTRY_PHONE => '57'][$type],
            self::CHINA => [COUNTRY_NAME => 'China', COUNTRY_CODE => 'CN', COUNTRY_PHONE => '86'][$type],
            self::CAMEROON => [COUNTRY_NAME => 'Cameroon', COUNTRY_CODE => 'CM', COUNTRY_PHONE => '237'][$type],
            self::CHILE => [COUNTRY_NAME => 'Chile', COUNTRY_CODE => 'CL', COUNTRY_PHONE => '56'][$type],
            self::COCOS_ISLANDS => [COUNTRY_NAME => 'Cocos Islands', COUNTRY_CODE => 'CC', COUNTRY_PHONE => '61'][$type],
            self::CANADA => [COUNTRY_NAME => 'Canada', COUNTRY_CODE => 'CA', COUNTRY_PHONE => '1'][$type],
            self::REPUBLIC_OF_THE_CONGO => [COUNTRY_NAME => 'Republic of the Congo', COUNTRY_CODE => 'CG', COUNTRY_PHONE => '242'][$type],
            self::CENTRAL_AFRICAN_REPUBLIC => [COUNTRY_NAME => 'Central African Republic', COUNTRY_CODE => 'CF', COUNTRY_PHONE => '236'][$type],
            self::DEMOCRATIC_REPUBLIC_OF_THE_CONGO => [COUNTRY_NAME => 'Democratic Republic of the Congo', COUNTRY_CODE => 'CD', COUNTRY_PHONE => '243'][$type],
            self::CZECH_REPUBLIC => [COUNTRY_NAME => 'Czech Republic', COUNTRY_CODE => 'CZ', COUNTRY_PHONE => '420'][$type],
            self::CYPRUS => [COUNTRY_NAME => 'Cyprus', COUNTRY_CODE => 'CY', COUNTRY_PHONE => '357'][$type],
            self::CHRISTMAS_ISLAND => [COUNTRY_NAME => 'Christmas Island', COUNTRY_CODE => 'CX', COUNTRY_PHONE => '61'][$type],
            self::COSTA_RICA => [COUNTRY_NAME => 'Costa Rica', COUNTRY_CODE => 'CR', COUNTRY_PHONE => '506'][$type],
            self::CURACAO => [COUNTRY_NAME => 'Curacao', COUNTRY_CODE => 'CW', COUNTRY_PHONE => '599'][$type],
            self::CAPE_VERDE => [COUNTRY_NAME => 'Cape Verde', COUNTRY_CODE => 'CV', COUNTRY_PHONE => '238'][$type],
            self::CUBA => [COUNTRY_NAME => 'Cuba', COUNTRY_CODE => 'CU', COUNTRY_PHONE => '53'][$type],
            self::SWAZILAND => [COUNTRY_NAME => 'Swaziland', COUNTRY_CODE => 'SZ', COUNTRY_PHONE => '268'][$type],
            self::SYRIA => [COUNTRY_NAME => 'Syria', COUNTRY_CODE => 'SY', COUNTRY_PHONE => '963'][$type],
            self::SINT_MAARTEN => [COUNTRY_NAME => 'Sint Maarten', COUNTRY_CODE => 'SX', COUNTRY_PHONE => '599'][$type],
            self::KYRGYZSTAN => [COUNTRY_NAME => 'Kyrgyzstan', COUNTRY_CODE => 'KG', COUNTRY_PHONE => '996'][$type],
            self::KENYA => [COUNTRY_NAME => 'Kenya', COUNTRY_CODE => 'KE', COUNTRY_PHONE => '254'][$type],
            self::SOUTH_SUDAN => [COUNTRY_NAME => 'South Sudan', COUNTRY_CODE => 'SS', COUNTRY_PHONE => '211'][$type],
            self::SURINAME => [COUNTRY_NAME => 'Suriname', COUNTRY_CODE => 'SR', COUNTRY_PHONE => '597'][$type],
            self::KIRIBATI => [COUNTRY_NAME => 'Kiribati', COUNTRY_CODE => 'KI', COUNTRY_PHONE => '686'][$type],
            self::CAMBODIA => [COUNTRY_NAME => 'Cambodia', COUNTRY_CODE => 'KH', COUNTRY_PHONE => '855'][$type],
            self::SAINT_KITTS_AND_NEVIS => [COUNTRY_NAME => 'Saint Kitts and Nevis', COUNTRY_CODE => 'KN', COUNTRY_PHONE => '1-869'][$type],
            self::COMOROS => [COUNTRY_NAME => 'Comoros', COUNTRY_CODE => 'KM', COUNTRY_PHONE => '269'][$type],
            self::SAO_TOME_AND_PRINCIPE => [COUNTRY_NAME => 'Sao Tome and Principe', COUNTRY_CODE => 'ST', COUNTRY_PHONE => '239'][$type],
            self::SLOVAKIA => [COUNTRY_NAME => 'Slovakia', COUNTRY_CODE => 'SK', COUNTRY_PHONE => '421'][$type],
            self::SOUTH_KOREA => [COUNTRY_NAME => 'South Korea', COUNTRY_CODE => 'KR', COUNTRY_PHONE => '82'][$type],
            self::SLOVENIA => [COUNTRY_NAME => 'Slovenia', COUNTRY_CODE => 'SI', COUNTRY_PHONE => '386'][$type],
            self::NORTH_KOREA => [COUNTRY_NAME => 'North Korea', COUNTRY_CODE => 'KP', COUNTRY_PHONE => '850'][$type],
            self::KUWAIT => [COUNTRY_NAME => 'Kuwait', COUNTRY_CODE => 'KW', COUNTRY_PHONE => '965'][$type],
            self::SENEGAL => [COUNTRY_NAME => 'Senegal', COUNTRY_CODE => 'SN', COUNTRY_PHONE => '221'][$type],
            self::SAN_MARINO => [COUNTRY_NAME => 'San Marino', COUNTRY_CODE => 'SM', COUNTRY_PHONE => '378'][$type],
            self::SIERRA_LEONE => [COUNTRY_NAME => 'Sierra Leone', COUNTRY_CODE => 'SL', COUNTRY_PHONE => '232'][$type],
            self::SEYCHELLES => [COUNTRY_NAME => 'Seychelles', COUNTRY_CODE => 'SC', COUNTRY_PHONE => '248'][$type],
            self::KAZAKHSTAN => [COUNTRY_NAME => 'Kazakhstan', COUNTRY_CODE => 'KZ', COUNTRY_PHONE => '7'][$type],
            self::CAYMAN_ISLANDS => [COUNTRY_NAME => 'Cayman Islands', COUNTRY_CODE => 'KY', COUNTRY_PHONE => '1-345'][$type],
            self::SINGAPORE => [COUNTRY_NAME => 'Singapore', COUNTRY_CODE => 'SG', COUNTRY_PHONE => '65'][$type],
            self::SWEDEN => [COUNTRY_NAME => 'Sweden', COUNTRY_CODE => 'SE', COUNTRY_PHONE => '46'][$type],
            self::SUDAN => [COUNTRY_NAME => 'Sudan', COUNTRY_CODE => 'SD', COUNTRY_PHONE => '249'][$type],
            self::DOMINICAN_REPUBLIC => [COUNTRY_NAME => 'Dominican Republic', COUNTRY_CODE => 'DO', COUNTRY_PHONE => '1-809 and 1-829'][$type],
            self::DOMINICA => [COUNTRY_NAME => 'Dominica', COUNTRY_CODE => 'DM', COUNTRY_PHONE => '1-767'][$type],
            self::DJIBOUTI => [COUNTRY_NAME => 'Djibouti', COUNTRY_CODE => 'DJ', COUNTRY_PHONE => '253'][$type],
            self::DENMARK => [COUNTRY_NAME => 'Denmark', COUNTRY_CODE => 'DK', COUNTRY_PHONE => '45'][$type],
            self::BRITISH_VIRGIN_ISLANDS => [COUNTRY_NAME => 'British Virgin Islands', COUNTRY_CODE => 'VG', COUNTRY_PHONE => '1-284'][$type],
            self::GERMANY => [COUNTRY_NAME => 'Germany', COUNTRY_CODE => 'DE', COUNTRY_PHONE => '49'][$type],
            self::YEMEN => [COUNTRY_NAME => 'Yemen', COUNTRY_CODE => 'YE', COUNTRY_PHONE => '967'][$type],
            self::ALGERIA => [COUNTRY_NAME => 'Algeria', COUNTRY_CODE => 'DZ', COUNTRY_PHONE => '213'][$type],
            self::UNITED_STATES => [COUNTRY_NAME => 'United States', COUNTRY_CODE => 'US', COUNTRY_PHONE => '1'][$type],
            self::URUGUAY => [COUNTRY_NAME => 'Uruguay', COUNTRY_CODE => 'UY', COUNTRY_PHONE => '598'][$type],
            self::MAYOTTE => [COUNTRY_NAME => 'Mayotte', COUNTRY_CODE => 'YT', COUNTRY_PHONE => '262'][$type],
            self::UNITED_STATES_MINOR_OUTLYING_ISLANDS => [COUNTRY_NAME => 'United States Minor Outlying Islands', COUNTRY_CODE => 'UM', COUNTRY_PHONE => '1'][$type],
            self::LEBANON => [COUNTRY_NAME => 'Lebanon', COUNTRY_CODE => 'LB', COUNTRY_PHONE => '961'][$type],
            self::SAINT_LUCIA => [COUNTRY_NAME => 'Saint Lucia', COUNTRY_CODE => 'LC', COUNTRY_PHONE => '1-758'][$type],
            self::LAOS => [COUNTRY_NAME => 'Laos', COUNTRY_CODE => 'LA', COUNTRY_PHONE => '856'][$type],
            self::TUVALU => [COUNTRY_NAME => 'Tuvalu', COUNTRY_CODE => 'TV', COUNTRY_PHONE => '688'][$type],
            self::TAIWAN => [COUNTRY_NAME => 'Taiwan', COUNTRY_CODE => 'TW', COUNTRY_PHONE => '886'][$type],
            self::TRINIDAD_AND_TOBAGO => [COUNTRY_NAME => 'Trinidad and Tobago', COUNTRY_CODE => 'TT', COUNTRY_PHONE => '1-868'][$type],
            self::TURKEY => [COUNTRY_NAME => 'Turkey', COUNTRY_CODE => 'TR', COUNTRY_PHONE => '90'][$type],
            self::SRI_LANKA => [COUNTRY_NAME => 'Sri Lanka', COUNTRY_CODE => 'LK', COUNTRY_PHONE => '94'][$type],
            self::LIECHTENSTEIN => [COUNTRY_NAME => 'Liechtenstein', COUNTRY_CODE => 'LI', COUNTRY_PHONE => '423'][$type],
            self::LATVIA => [COUNTRY_NAME => 'Latvia', COUNTRY_CODE => 'LV', COUNTRY_PHONE => '371'][$type],
            self::TONGA => [COUNTRY_NAME => 'Tonga', COUNTRY_CODE => 'TO', COUNTRY_PHONE => '676'][$type],
            self::LITHUANIA => [COUNTRY_NAME => 'Lithuania', COUNTRY_CODE => 'LT', COUNTRY_PHONE => '370'][$type],
            self::LUXEMBOURG => [COUNTRY_NAME => 'Luxembourg', COUNTRY_CODE => 'LU', COUNTRY_PHONE => '352'][$type],
            self::LIBERIA => [COUNTRY_NAME => 'Liberia', COUNTRY_CODE => 'LR', COUNTRY_PHONE => '231'][$type],
            self::LESOTHO => [COUNTRY_NAME => 'Lesotho', COUNTRY_CODE => 'LS', COUNTRY_PHONE => '266'][$type],
            self::THAILAND => [COUNTRY_NAME => 'Thailand', COUNTRY_CODE => 'TH', COUNTRY_PHONE => '66'][$type],
            self::FRENCH_SOUTHERN_TERRITORIES => [COUNTRY_NAME => 'French Southern Territories', COUNTRY_CODE => 'TF', COUNTRY_PHONE => ''][$type],
            self::TOGO => [COUNTRY_NAME => 'Togo', COUNTRY_CODE => 'TG', COUNTRY_PHONE => '228'][$type],
            self::CHAD => [COUNTRY_NAME => 'Chad', COUNTRY_CODE => 'TD', COUNTRY_PHONE => '235'][$type],
            self::TURKS_AND_CAICOS_ISLANDS => [COUNTRY_NAME => 'Turks and Caicos Islands', COUNTRY_CODE => 'TC', COUNTRY_PHONE => '1-649'][$type],
            self::LIBYA => [COUNTRY_NAME => 'Libya', COUNTRY_CODE => 'LY', COUNTRY_PHONE => '218'][$type],
            self::VATICAN => [COUNTRY_NAME => 'Vatican', COUNTRY_CODE => 'VA', COUNTRY_PHONE => '379'][$type],
            self::SAINT_VINCENT_AND_THE_GRENADINES => [COUNTRY_NAME => 'Saint Vincent and the Grenadines', COUNTRY_CODE => 'VC', COUNTRY_PHONE => '1-784'][$type],
            self::UNITED_ARAB_EMIRATES => [COUNTRY_NAME => 'United Arab Emirates', COUNTRY_CODE => 'AE', COUNTRY_PHONE => '971'][$type],
            self::ANDORRA => [COUNTRY_NAME => 'Andorra', COUNTRY_CODE => 'AD', COUNTRY_PHONE => '376'][$type],
            self::ANTIGUA_AND_BARBUDA => [COUNTRY_NAME => 'Antigua and Barbuda', COUNTRY_CODE => 'AG', COUNTRY_PHONE => '1-268'][$type],
            self::AFGHANISTAN => [COUNTRY_NAME => 'Afghanistan', COUNTRY_CODE => 'AF', COUNTRY_PHONE => '93'][$type],
            self::ANGUILLA => [COUNTRY_NAME => 'Anguilla', COUNTRY_CODE => 'AI', COUNTRY_PHONE => '1-264'][$type],
            self::US_VIRGIN_ISLANDS => [COUNTRY_NAME => 'U.S. Virgin Islands', COUNTRY_CODE => 'VI', COUNTRY_PHONE => '1-340'][$type],
            self::ICELAND => [COUNTRY_NAME => 'Iceland', COUNTRY_CODE => 'IS', COUNTRY_PHONE => '354'][$type],
            self::IRAN => [COUNTRY_NAME => 'Iran', COUNTRY_CODE => 'IR', COUNTRY_PHONE => '98'][$type],
            self::ARMENIA => [COUNTRY_NAME => 'Armenia', COUNTRY_CODE => 'AM', COUNTRY_PHONE => '374'][$type],
            self::ALBANIA => [COUNTRY_NAME => 'Albania', COUNTRY_CODE => 'AL', COUNTRY_PHONE => '355'][$type],
            self::ANGOLA => [COUNTRY_NAME => 'Angola', COUNTRY_CODE => 'AO', COUNTRY_PHONE => '244'][$type],
            self::ANTARCTICA => [COUNTRY_NAME => 'Antarctica', COUNTRY_CODE => 'AQ', COUNTRY_PHONE => ''][$type],
            self::AMERICAN_SAMOA => [COUNTRY_NAME => 'American Samoa', COUNTRY_CODE => 'AS', COUNTRY_PHONE => '1-684'][$type],
            self::ARGENTINA => [COUNTRY_NAME => 'Argentina', COUNTRY_CODE => 'AR', COUNTRY_PHONE => '54'][$type],
            self::AUSTRALIA => [COUNTRY_NAME => 'Australia', COUNTRY_CODE => 'AU', COUNTRY_PHONE => '61'][$type],
            self::AUSTRIA => [COUNTRY_NAME => 'Austria', COUNTRY_CODE => 'AT', COUNTRY_PHONE => '43'][$type],
            self::ARUBA => [COUNTRY_NAME => 'Aruba', COUNTRY_CODE => 'AW', COUNTRY_PHONE => '297'][$type],
            self::INDIA => [COUNTRY_NAME => 'India', COUNTRY_CODE => 'IN', COUNTRY_PHONE => '91'][$type],
            self::ALAND_ISLANDS => [COUNTRY_NAME => 'Aland Islands', COUNTRY_CODE => 'AX', COUNTRY_PHONE => '358-18'][$type],
            self::AZERBAIJAN => [COUNTRY_NAME => 'Azerbaijan', COUNTRY_CODE => 'AZ', COUNTRY_PHONE => '994'][$type],
            self::IRELAND => [COUNTRY_NAME => 'Ireland', COUNTRY_CODE => 'IE', COUNTRY_PHONE => '353'][$type],
            self::INDONESIA => [COUNTRY_NAME => 'Indonesia', COUNTRY_CODE => 'ID', COUNTRY_PHONE => '62'][$type],
            self::UKRAINE => [COUNTRY_NAME => 'Ukraine', COUNTRY_CODE => 'UA', COUNTRY_PHONE => '380'][$type],
            self::QATAR => [COUNTRY_NAME => 'Qatar', COUNTRY_CODE => 'QA', COUNTRY_PHONE => '974'][$type],
            self::MOZAMBIQUE => [COUNTRY_NAME => 'Mozambique', COUNTRY_CODE => 'MZ', COUNTRY_PHONE => '258'][$type],

        };
    }

}

The real MVP

Nice!
You could just mention the pakage.

https://packagist.org/packages/aminkhoshzahmat/country-code

@nicksleap
Copy link

i love you guys

@alnahian2003
Copy link

For FilamentPHP

<?php

namespace App\Enums;

use Filament\Support\Contracts\HasLabel;

enum CountryEnum: string implements HasLabel
{
    case AFGHANISTAN = 'AF';
    case ALAND_ISLANDS = 'AX';
    case ALBANIA = 'AL';
    case ALGERIA = 'DZ';
    case AMERICAN_SAMOA = 'AS';
    case ANDORRA = 'AD';
    case ANGOLA = 'AO';
    case ANGUILLA = 'AI';
    case ANTARCTICA = 'AQ';
    case ANTIGUA_AND_BARBUDA = 'AG';
    case ARGENTINA = 'AR';
    case ARMENIA = 'AM';
    case ARUBA = 'AW';
    case AUSTRALIA = 'AU';
    case AUSTRIA = 'AT';
    case AZERBAIJAN = 'AZ';
    case BAHAMAS = 'BS';
    case BAHRAIN = 'BH';
    case BANGLADESH = 'BD';
    case BARBADOS = 'BB';
    case BELARUS = 'BY';
    case BELGIUM = 'BE';
    case BELIZE = 'BZ';
    case BENIN = 'BJ';
    case BERMUDA = 'BM';
    case BHUTAN = 'BT';
    case BOLIVIA = 'BO';
    case BONAIRE_SAINT_EUSTATIUS_AND_SABA = 'BQ';
    case BOSNIA_AND_HERZEGOVINA = 'BA';
    case BOTSWANA = 'BW';
    case BOUVET_ISLAND = 'BV';
    case BRAZIL = 'BR';
    case BRITISH_INDIAN_OCEAN_TERRITORY = 'IO';
    case BRITISH_VIRGIN_ISLANDS = 'VG';
    case BRUNEI = 'BN';
    case BULGARIA = 'BG';
    case BURKINA_FASO = 'BF';
    case BURUNDI = 'BI';
    case CAMBODIA = 'KH';
    case CAMEROON = 'CM';
    case CANADA = 'CA';
    case CAPE_VERDE = 'CV';
    case CAYMAN_ISLANDS = 'KY';
    case CENTRAL_AFRICAN_REPUBLIC = 'CF';
    case CHAD = 'TD';
    case CHILE = 'CL';
    case CHINA = 'CN';
    case CHRISTMAS_ISLAND = 'CX';
    case COCOS_ISLANDS = 'CC';
    case COLOMBIA = 'CO';
    case COMOROS = 'KM';
    case COOK_ISLANDS = 'CK';
    case COSTA_RICA = 'CR';
    case CROATIA = 'HR';
    case CUBA = 'CU';
    case CURACAO = 'CW';
    case CYPRUS = 'CY';
    case CZECH_REPUBLIC = 'CZ';
    case DEMOCRATIC_REPUBLIC_OF_THE_CONGO = 'CD';
    case DENMARK = 'DK';
    case DJIBOUTI = 'DJ';
    case DOMINICA = 'DM';
    case DOMINICAN_REPUBLIC = 'DO';
    case EAST_TIMOR = 'TL';
    case ECUADOR = 'EC';
    case EGYPT = 'EG';
    case EL_SALVADOR = 'SV';
    case EQUATORIAL_GUINEA = 'GQ';
    case ERITREA = 'ER';
    case ESTONIA = 'EE';
    case ETHIOPIA = 'ET';
    case FALKLAND_ISLANDS = 'FK';
    case FAROE_ISLANDS = 'FO';
    case FIJI = 'FJ';
    case FINLAND = 'FI';
    case FRANCE = 'FR';
    case FRENCH_GUIANA = 'GF';
    case FRENCH_POLYNESIA = 'PF';
    case FRENCH_SOUTHERN_TERRITORIES = 'TF';
    case GABON = 'GA';
    case GAMBIA = 'GM';
    case GEORGIA = 'GE';
    case GERMANY = 'DE';
    case GHANA = 'GH';
    case GIBRALTAR = 'GI';
    case GREECE = 'GR';
    case GREENLAND = 'GL';
    case GRENADA = 'GD';
    case GUADELOUPE = 'GP';
    case GUAM = 'GU';
    case GUATEMALA = 'GT';
    case GUERNSEY = 'GG';
    case GUINEA = 'GN';
    case GUINEA_BISSAU = 'GW';
    case GUYANA = 'GY';
    case HAITI = 'HT';
    case HEARD_ISLAND_AND_MCDONALD_ISLANDS = 'HM';
    case HONDURAS = 'HN';
    case HONG_KONG = 'HK';
    case HUNGARY = 'HU';
    case ICELAND = 'IS';
    case INDIA = 'IN';
    case INDONESIA = 'ID';
    case IRAN = 'IR';
    case IRAQ = 'IQ';
    case IRELAND = 'IE';
    case ISLE_OF_MAN = 'IM';
    case ISRAEL = 'IL';
    case ITALY = 'IT';
    case IVORY_COAST = 'CI';
    case JAMAICA = 'JM';
    case JAPAN = 'JP';
    case JERSEY = 'JE';
    case JORDAN = 'JO';
    case KAZAKHSTAN = 'KZ';
    case KENYA = 'KE';
    case KIRIBATI = 'KI';
    case KOSOVO = 'XK';
    case KUWAIT = 'KW';
    case KYRGYZSTAN = 'KG';
    case LAOS = 'LA';
    case LATVIA = 'LV';
    case LEBANON = 'LB';
    case LESOTHO = 'LS';
    case LIBERIA = 'LR';
    case LIBYA = 'LY';
    case LIECHTENSTEIN = 'LI';
    case LITHUANIA = 'LT';
    case LUXEMBOURG = 'LU';
    case MACAO = 'MO';
    case MACEDONIA = 'MK';
    case MADAGASCAR = 'MG';
    case MALAWI = 'MW';
    case MALAYSIA = 'MY';
    case MALDIVES = 'MV';
    case MALI = 'ML';
    case MALTA = 'MT';
    case MARSHALL_ISLANDS = 'MH';
    case MARTINIQUE = 'MQ';
    case MAURITANIA = 'MR';
    case MAURITIUS = 'MU';
    case MAYOTTE = 'YT';
    case MEXICO = 'MX';
    case MICRONESIA = 'FM';
    case MOLDOVA = 'MD';
    case MONACO = 'MC';
    case MONGOLIA = 'MN';
    case MONTENEGRO = 'ME';
    case MONTSERRAT = 'MS';
    case MOROCCO = 'MA';
    case MOZAMBIQUE = 'MZ';
    case MYANMAR = 'MM';
    case NAMIBIA = 'NA';
    case NAURU = 'NR';
    case NEPAL = 'NP';
    case NETHERLANDS = 'NL';
    case NEW_CALEDONIA = 'NC';
    case NEW_ZEALAND = 'NZ';
    case NICARAGUA = 'NI';
    case NIGER = 'NE';
    case NIGERIA = 'NG';
    case NIUE = 'NU';
    case NORFOLK_ISLAND = 'NF';
    case NORTH_KOREA = 'KP';
    case NORTHERN_MARIANA_ISLANDS = 'MP';
    case NORWAY = 'NO';
    case OMAN = 'OM';
    case PAKISTAN = 'PK';
    case PALAU = 'PW';
    case PALESTINIAN_TERRITORY = 'PS';
    case PANAMA = 'PA';
    case PAPUA_NEW_GUINEA = 'PG';
    case PARAGUAY = 'PY';
    case PERU = 'PE';
    case PHILIPPINES = 'PH';
    case PITCAIRN = 'PN';
    case POLAND = 'PL';
    case PORTUGAL = 'PT';
    case PUERTO_RICO = 'PR';
    case QATAR = 'QA';
    case REPUBLIC_OF_THE_CONGO = 'CG';
    case REUNION = 'RE';
    case ROMANIA = 'RO';
    case RUSSIA = 'RU';
    case RWANDA = 'RW';
    case SAINT_BARTHELEMY = 'BL';
    case SAINT_HELENA = 'SH';
    case SAINT_KITTS_AND_NEVIS = 'KN';
    case SAINT_LUCIA = 'LC';
    case SAINT_MARTIN = 'MF';
    case SAINT_PIERRE_AND_MIQUELON = 'PM';
    case SAINT_VINCENT_AND_THE_GRENADINES = 'VC';
    case SAMOA = 'WS';
    case SAN_MARINO = 'SM';
    case SAO_TOME_AND_PRINCIPE = 'ST';
    case SAUDI_ARABIA = 'SA';
    case SENEGAL = 'SN';
    case SERBIA = 'RS';
    case SEYCHELLES = 'SC';
    case SIERRA_LEONE = 'SL';
    case SINGAPORE = 'SG';
    case SINT_MAARTEN = 'SX';
    case SLOVAKIA = 'SK';
    case SLOVENIA = 'SI';
    case SOLOMON_ISLANDS = 'SB';
    case SOMALIA = 'SO';
    case SOUTH_AFRICA = 'ZA';
    case SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS = 'GS';
    case SOUTH_KOREA = 'KR';
    case SOUTH_SUDAN = 'SS';
    case SPAIN = 'ES';
    case SRI_LANKA = 'LK';
    case SUDAN = 'SD';
    case SURINAME = 'SR';
    case SVALBARD_AND_JAN_MAYEN = 'SJ';
    case SWAZILAND = 'SZ';
    case SWEDEN = 'SE';
    case SWITZERLAND = 'CH';
    case SYRIA = 'SY';
    case TAIWAN = 'TW';
    case TAJIKISTAN = 'TJ';
    case TANZANIA = 'TZ';
    case THAILAND = 'TH';
    case TOGO = 'TG';
    case TOKELAU = 'TK';
    case TONGA = 'TO';
    case TRINIDAD_AND_TOBAGO = 'TT';
    case TUNISIA = 'TN';
    case TURKEY = 'TR';
    case TURKMENISTAN = 'TM';
    case TURKS_AND_CAICOS_ISLANDS = 'TC';
    case TUVALU = 'TV';
    case UGANDA = 'UG';
    case UKRAINE = 'UA';
    case UNITED_ARAB_EMIRATES = 'AE';
    case UNITED_KINGDOM = 'GB';
    case UNITED_STATES = 'US';
    case UNITED_STATES_MINOR_OUTLYING_ISLANDS = 'UM';
    case URUGUAY = 'UY';
    case US_VIRGIN_ISLANDS = 'VI';
    case UZBEKISTAN = 'UZ';
    case VANUATU = 'VU';
    case VATICAN = 'VA';
    case VENEZUELA = 'VE';
    case VIETNAM = 'VN';
    case WALLIS_AND_FUTUNA = 'WF';
    case WESTERN_SAHARA = 'EH';
    case YEMEN = 'YE';
    case ZAMBIA = 'ZM';
    case ZIMBABWE = 'ZW';

    public function getLabel(): ?string
    {
        return self::labels()[$this->value] ?? $this->value;
    }

    private static function labels(): array
    {
        return [
            'AF' => 'Afghanistan', 'AX' => 'Aland Islands', 'AL' => 'Albania', 'DZ' => 'Algeria', 'AS' => 'American Samoa', 'AD' => 'Andorra', 'AO' => 'Angola', 'AI' => 'Anguilla', 'AQ' => 'Antarctica', 'AG' => 'Antigua and Barbuda',
            'AR' => 'Argentina', 'AM' => 'Armenia', 'AW' => 'Aruba', 'AU' => 'Australia', 'AT' => 'Austria', 'AZ' => 'Azerbaijan', 'BS' => 'Bahamas', 'BH' => 'Bahrain', 'BD' => 'Bangladesh', 'BB' => 'Barbados',
            'BY' => 'Belarus', 'BE' => 'Belgium', 'BZ' => 'Belize', 'BJ' => 'Benin', 'BM' => 'Bermuda', 'BT' => 'Bhutan', 'BO' => 'Bolivia', 'BQ' => 'Bonaire, Saint Eustatius and Saba', 'BA' => 'Bosnia and Herzegovina', 'BW' => 'Botswana',
            'BV' => 'Bouvet Island', 'BR' => 'Brazil', 'IO' => 'British Indian Ocean Territory', 'VG' => 'British Virgin Islands', 'BN' => 'Brunei', 'BG' => 'Bulgaria', 'BF' => 'Burkina Faso', 'BI' => 'Burundi', 'KH' => 'Cambodia', 'CM' => 'Cameroon',
            'CA' => 'Canada', 'CV' => 'Cape Verde', 'KY' => 'Cayman Islands', 'CF' => 'Central African Republic', 'TD' => 'Chad', 'CL' => 'Chile', 'CN' => 'China', 'CX' => 'Christmas Island', 'CC' => 'Cocos Islands', 'CO' => 'Colombia',
            'KM' => 'Comoros', 'CK' => 'Cook Islands', 'CR' => 'Costa Rica', 'HR' => 'Croatia', 'CU' => 'Cuba', 'CW' => 'Curacao', 'CY' => 'Cyprus', 'CZ' => 'Czech Republic', 'CD' => 'Democratic Republic of the Congo', 'DK' => 'Denmark',
            'DJ' => 'Djibouti', 'DM' => 'Dominica', 'DO' => 'Dominican Republic', 'TL' => 'East Timor', 'EC' => 'Ecuador', 'EG' => 'Egypt', 'SV' => 'El Salvador', 'GQ' => 'Equatorial Guinea', 'ER' => 'Eritrea', 'EE' => 'Estonia',
            'ET' => 'Ethiopia', 'FK' => 'Falkland Islands', 'FO' => 'Faroe Islands', 'FJ' => 'Fiji', 'FI' => 'Finland', 'FR' => 'France', 'GF' => 'French Guiana', 'PF' => 'French Polynesia', 'TF' => 'French Southern Territories', 'GA' => 'Gabon',
            'GM' => 'Gambia', 'GE' => 'Georgia', 'DE' => 'Germany', 'GH' => 'Ghana', 'GI' => 'Gibraltar', 'GR' => 'Greece', 'GL' => 'Greenland', 'GD' => 'Grenada', 'GP' => 'Guadeloupe', 'GU' => 'Guam',
            'GT' => 'Guatemala', 'GG' => 'Guernsey', 'GN' => 'Guinea', 'GW' => 'Guinea-Bissau', 'GY' => 'Guyana', 'HT' => 'Haiti', 'HM' => 'Heard Island and McDonald Islands', 'HN' => 'Honduras', 'HK' => 'Hong Kong', 'HU' => 'Hungary',
            'IS' => 'Iceland', 'IN' => 'India', 'ID' => 'Indonesia', 'IR' => 'Iran', 'IQ' => 'Iraq', 'IE' => 'Ireland', 'IM' => 'Isle of Man', 'IL' => 'Israel', 'IT' => 'Italy', 'CI' => 'Ivory Coast',
            'JM' => 'Jamaica', 'JP' => 'Japan', 'JE' => 'Jersey', 'JO' => 'Jordan', 'KZ' => 'Kazakhstan', 'KE' => 'Kenya', 'KI' => 'Kiribati', 'XK' => 'Kosovo', 'KW' => 'Kuwait', 'KG' => 'Kyrgyzstan',
            'LA' => 'Laos', 'LV' => 'Latvia', 'LB' => 'Lebanon', 'LS' => 'Lesotho', 'LR' => 'Liberia', 'LY' => 'Libya', 'LI' => 'Liechtenstein', 'LT' => 'Lithuania', 'LU' => 'Luxembourg', 'MO' => 'Macao',
            'MK' => 'Macedonia', 'MG' => 'Madagascar', 'MW' => 'Malawi', 'MY' => 'Malaysia', 'MV' => 'Maldives', 'ML' => 'Mali', 'MT' => 'Malta', 'MH' => 'Marshall Islands', 'MQ' => 'Martinique', 'MR' => 'Mauritania',
            'MU' => 'Mauritius', 'YT' => 'Mayotte', 'MX' => 'Mexico', 'FM' => 'Micronesia', 'MD' => 'Moldova', 'MC' => 'Monaco', 'MN' => 'Mongolia', 'ME' => 'Montenegro', 'MS' => 'Montserrat', 'MA' => 'Morocco',
            'MZ' => 'Mozambique', 'MM' => 'Myanmar', 'NA' => 'Namibia', 'NR' => 'Nauru', 'NP' => 'Nepal', 'NL' => 'Netherlands', 'NC' => 'New Caledonia', 'NZ' => 'New Zealand', 'NI' => 'Nicaragua', 'NE' => 'Niger',
            'NG' => 'Nigeria', 'NI' => 'Niue', 'NF' => 'Norfolk Island', 'KP' => 'North Korea', 'MP' => 'Northern Mariana Islands', 'NO' => 'Norway', 'OM' => 'Oman', 'PK' => 'Pakistan', 'PW' => 'Palau', 'PS' => 'Palestinian Territory',
            'PA' => 'Panama', 'PG' => 'Papua New Guinea', 'PY' => 'Paraguay', 'PE' => 'Peru', 'PH' => 'Philippines', 'PN' => 'Pitcairn', 'PL' => 'Poland', 'PT' => 'Portugal', 'PR' => 'Puerto Rico', 'QA' => 'Qatar',
            'CG' => 'Republic of the Congo', 'RE' => 'Reunion', 'RO' => 'Romania', 'RU' => 'Russia', 'RW' => 'Rwanda', 'BL' => 'Saint Barthelemy', 'SH' => 'Saint Helena', 'KN' => 'Saint Kitts and Nevis', 'LC' => 'Saint Lucia', 'MF' => 'Saint Martin',
            'PM' => 'Saint Pierre and Miquelon', 'VC' => 'Saint Vincent and the Grenadines', 'WS' => 'Samoa', 'SM' => 'San Marino', 'ST' => 'Sao Tome and Principe', 'SA' => 'Saudi Arabia', 'SN' => 'Senegal', 'RS' => 'Serbia', 'SC' => 'Seychelles', 'SL' => 'Sierra Leone',
            'SG' => 'Singapore', 'SX' => 'Sint Maarten', 'SK' => 'Slovakia', 'SI' => 'Slovenia', 'SB' => 'Solomon Islands', 'SO' => 'Somalia', 'ZA' => 'South Africa', 'GS' => 'South Georgia and the South Sandwich Islands', 'KR' => 'South Korea', 'SS' => 'South Sudan',
            'ES' => 'Spain', 'LK' => 'Sri Lanka', 'SD' => 'Sudan', 'SR' => 'Suriname', 'SJ' => 'Svalbard and Jan Mayen', 'SZ' => 'Swaziland', 'SE' => 'Sweden', 'CH' => 'Switzerland', 'SY' => 'Syria', 'TW' => 'Taiwan',
            'TJ' => 'Tajikistan', 'TZ' => 'Tanzania', 'TH' => 'Thailand', 'TG' => 'Togo', 'TK' => 'Tokelau', 'TO' => 'Tonga', 'TT' => 'Trinidad and Tobago', 'TN' => 'Tunisia', 'TR' => 'Turkey', 'TM' => 'Turkmenistan',
            'TC' => 'Turks and Caicos Islands', 'TV' => 'Tuvalu', 'UG' => 'Uganda', 'UA' => 'Ukraine', 'AE' => 'United Arab Emirates', 'GB' => 'United Kingdom', 'US' => 'United States', 'UM' => 'United States Minor Outlying Islands', 'UY' => 'Uruguay', 'VI' => 'U.S. Virgin Islands',
            'UZ' => 'Uzbekistan', 'VU' => 'Vanuatu', 'VA' => 'Vatican', 'VE' => 'Venezuela', 'VN' => 'Vietnam', 'WF' => 'Wallis and Futuna', 'EH' => 'Western Sahara', 'YE' => 'Yemen', 'ZM' => 'Zambia', 'ZW' => 'Zimbabwe',
        ];
    }

    private static function phoneCodes(): array
    {
        return [
            'AF' => '93', 'AX' => '358-18', 'AL' => '355', 'DZ' => '213', 'AS' => '1-684', 'AD' => '376', 'AO' => '244', 'AI' => '1-264', 'AQ' => '', 'AG' => '1-268',
            'AR' => '54', 'AM' => '374', 'AW' => '297', 'AU' => '61', 'AT' => '43', 'AZ' => '994', 'BS' => '1-242', 'BH' => '973', 'BD' => '880', 'BB' => '1-246',
            'BY' => '375', 'BE' => '32', 'BZ' => '501', 'BJ' => '229', 'BM' => '1-441', 'BT' => '975', 'BO' => '591', 'BQ' => '599', 'BA' => '387', 'BW' => '267',
            'BV' => '', 'BR' => '55', 'IO' => '246', 'VG' => '1-284', 'BN' => '673', 'BG' => '359', 'BF' => '226', 'BI' => '257', 'KH' => '855', 'CM' => '237',
            'CA' => '1', 'CV' => '238', 'KY' => '1-345', 'CF' => '236', 'TD' => '235', 'CL' => '56', 'CN' => '86', 'CX' => '61', 'CC' => '61', 'CO' => '57',
            'KM' => '269', 'CK' => '682', 'CR' => '506', 'HR' => '385', 'CU' => '53', 'CW' => '599', 'CY' => '357', 'CZ' => '420', 'CD' => '243', 'DK' => '45',
            'DJ' => '253', 'DM' => '1-767', 'DO' => '1-809 and 1-829', 'TL' => '670', 'EC' => '593', 'EG' => '20', 'SV' => '503', 'GQ' => '240', 'ER' => '291', 'EE' => '372',
            'ET' => '251', 'FK' => '500', 'FO' => '298', 'FJ' => '679', 'FI' => '358', 'FR' => '33', 'GF' => '594', 'PF' => '689', 'TF' => '', 'GA' => '241',
            'GM' => '220', 'GE' => '995', 'DE' => '49', 'GH' => '233', 'GI' => '350', 'GR' => '30', 'GL' => '299', 'GD' => '1-473', 'GP' => '590', 'GU' => '1-671',
            'GT' => '502', 'GG' => '44-1481', 'GN' => '224', 'GW' => '245', 'GY' => '592', 'HT' => '509', 'HM' => ' ', 'HN' => '504', 'HK' => '852', 'HU' => '36',
            'IS' => '354', 'IN' => '91', 'ID' => '62', 'IR' => '98', 'IQ' => '964', 'IE' => '353', 'IM' => '44-1624', 'IL' => '972', 'IT' => '39', 'CI' => '225',
            'JM' => '1-876', 'JP' => '81', 'JE' => '44-1534', 'JO' => '962', 'KZ' => '7', 'KE' => '254', 'KI' => '686', 'XK' => '383', 'KW' => '965', 'KG' => '996',
            'LA' => '856', 'LV' => '371', 'LB' => '961', 'LS' => '266', 'LR' => '231', 'LY' => '218', 'LI' => '423', 'LT' => '370', 'LU' => '352', 'MO' => '853',
            'MK' => '389', 'MG' => '261', 'MW' => '265', 'MY' => '60', 'MV' => '960', 'ML' => '223', 'MT' => '356', 'MH' => '692', 'MQ' => '596', 'MR' => '222',
            'MU' => '230', 'YT' => '262', 'MX' => '52', 'FM' => '691', 'MD' => '373', 'MC' => '377', 'MN' => '976', 'ME' => '382', 'MS' => '1-664', 'MA' => '212',
            'MZ' => '258', 'MM' => '95', 'NA' => '264', 'NR' => '674', 'NP' => '977', 'NL' => '31', 'NC' => '687', 'NZ' => '64', 'NI' => '505', 'NE' => '227',
            'NG' => '234', 'NI' => '683', 'NF' => '672', 'KP' => '850', 'MP' => '1-670', 'NO' => '47', 'OM' => '968', 'PK' => '92', 'PW' => '680', 'PS' => '970',
            'PA' => '507', 'PG' => '675', 'PY' => '595', 'PE' => '51', 'PH' => '63', 'PN' => '870', 'PL' => '48', 'PT' => '351', 'PR' => '1-787 and 1-939', 'QA' => '974',
            'CG' => '242', 'RE' => '262', 'RO' => '40', 'RU' => '7', 'RW' => '250', 'BL' => '590', 'SH' => '290', 'KN' => '1-869', 'LC' => '1-758', 'MF' => '590',
            'PM' => '508', 'VC' => '1-784', 'WS' => '685', 'SM' => '378', 'ST' => '239', 'SA' => '966', 'SN' => '221', 'RS' => '381', 'SC' => '248', 'SL' => '232',
            'SG' => '65', 'SX' => '599', 'SK' => '421', 'SI' => '386', 'SB' => '677', 'SO' => '252', 'ZA' => '27', 'GS' => '', 'KR' => '82', 'SS' => '211',
            'ES' => '34', 'LK' => '94', 'SD' => '249', 'SR' => '597', 'SJ' => '47', 'SZ' => '268', 'SE' => '46', 'CH' => '41', 'SY' => '963', 'TW' => '886',
            'TJ' => '992', 'TZ' => '255', 'TH' => '66', 'TG' => '228', 'TK' => '690', 'TO' => '676', 'TT' => '1-868', 'TN' => '216', 'TR' => '90', 'TM' => '993',
            'TC' => '1-649', 'TV' => '688', 'UG' => '256', 'UA' => '380', 'AE' => '971', 'GB' => '44', 'US' => '1', 'UM' => '1', 'UY' => '598', 'VI' => '1-340',
            'UZ' => '998', 'VU' => '678', 'VA' => '379', 'VE' => '58', 'VN' => '84', 'WF' => '681', 'EH' => '212', 'YE' => '967', 'ZM' => '260', 'ZW' => '263',
        ];
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment