PHP-класс для получения и конвертации кодов стран ISO 3166-1 alpha-2, alpha-3, цифровых и телефонных

PHP-класс CountryCodes позволяет получать массивы содержащие ISO 3166-1 alpha-2, ISO 3166-1 alpha-3, ISO 3166-1 цифровые коды и телефонные коды, и одни данные на основе других, напр., по ISO 3166-1 alpha-2 получить alpha-3 и наоборот

  1. alpha2 ISO-3166-1 alpha-2 https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
  2. alpha3 ISO-3166-1 alpha-3 https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
  3. numeric ISO-3166-1 цифровой код https://en.wikipedia.org/wiki/ISO_3166-1_numeric
  4. isd Международный телефонный код https://en.wikipedia.org/wiki/List_of_country_calling_codes
  5. continentCode Код коднтинента
  6. continent Название контенента
  7. country Название страны
  8. countryFull Полное название страны
  9. emoji Эмоджи флага http://unicode.org/emoji/charts/emoji-ordering.html#country-flag

Репозиторий на Github
Скачать Master
Исходный код


Установка CountryCodes

Установка с помощью Composer

composer require thalidzhokov/country-codes

ИЛИ подключите CountryCodes.php в PHP-код

require_once('CountryCodes.php');

Примеры использования

1. Изменение языка по умолчанию

\CountryCodes::$language = 'ru';

2. Метод get()
Получение массива key => value

\CountryCodes::get('alpha2', 'country');

Вернет массив

array (
  'AB' => 'Abkhazia',
  'AD' => 'Andorra',
  ...,
  'AI' => 'Anguilla',
  'AL' => 'Albania',
  'AM' => 'Armenia',
  ...,
  'US' => 'USA',
  ...
)

3. Метод get2()
Получение массива с множеством значений key => [value1, value2, ...]

\CountryCodes::get2('alpha3', ['alpha2', 'continentCode', 'emoji']);

Вернет массив

array (
  'ABH' => 
  array (
    'alpha2' => 'AB',
    'continentCode' => 'AS',
    'emoji' => '',
  ),
  'AND' => 
  array (
    'alpha2' => 'AD',
    'continentCode' => 'EU',
    'emoji' => '🇦🇩',
  ),
  'ARE' => 
  array (
    'alpha2' => 'AE',
    'continentCode' => 'AS',
    'emoji' => '🇦🇪',
  ),
  ...
)

4. Метод getByContinent()
Получение массива key => value по континенту

\CountryCodes::getByContinent('alpha3', 'countryFull', 'EU');

Вернет массив

array (
  ...,
  'BEL' => 'Belgium',
  'BGR' => 'Bulgaria',
  'BLR' => 'Belarus',
  'CHE' => 'Swiss Confederation',
  'CZE' => 'Czech Republic',
  'DEU' => 'Germany',
  ...
)

5. Метод getEmojiByAlpha2()
Получение эмоджи флага по alpha2

\CountryCodes::getEmojiByAlpha2('ZW');

Вернет строку 🇿🇼

🇿🇼

6. Метод getEmojiByAlpha3()
Получение эмоджи флага по aplha3

\CountryCodes::getEmojiByAlpha3('ZMB');

Вернет строку 🇿🇲

🇿🇲

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Имя *