ISO 3166-1, 3166-2-US
Find on Packagist, and install using Composer.
composer require mikegarde/country-codes
include 'vendor/autoload.php';
use Countries\Countries;
$countries = new Countries();
$result = $countries->getCountry('US');
$result = $countries->getCountry('USA');
$result = $countries->getCountry('UnitedStates');
$result = $countries->getCountry('United States');
$result = $countries->getCountry('United States of America');
/*
$result = [
'name' => 'United States',
'iso2' => 'US',
'iso3' => 'USA',
'isoNum' => '840',
'fips' => 'US',
'capital' => 'Washington',
'isEU' => 0,
'isUK' => 0,
'isUS' => 0,
];
*/
For your UI
$countries = new Countries();
$results = $countries->getAllCountries();
return json_encode($results);
US Territory
$countries = new Countries(true);
if ($countries->isUSTerritory('PR'))
{
echo 'Yep, a US Territory';
}
Do something for Canada
if ($countries->validate('CA', $order['consignee']['countryCode']))
{
echo 'Blame Canada';
}
Do something different when shipping outside the lower 48
$stateTest = new US();
if ($stateTest->isCONUS($order['consignee']['state']))
{
echo 'You can select USPS, UPS, or DHL';
}
else // OCONUS
{
echo 'USPS is your only option for shipping to AK, HI, APO, or an FPO address';
}
The numeric value after the command represents the PHP version
task build-8.3
task setup-8.3
task test-8.3
Alternatively you can run task test-all
to build, setup, and test against all supported PHP versions.