Tag Archives: PHP

Get country continent in PHP

/**
 * get_country_continent.
 *
 * Gets continent by two letter country code.
 */
function get_country_continent( $country ) {
	$data = array(
		'North America'       => array( 'CA', 'MX', 'US' ),
		'Europe'              => array( 'AD', 'AL', 'AT', 'AX', 'BA', 'BE', 'BG', 'BY', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FO', 'FR', 'FX', 'GB', 'GG', 'GI', 'GR', 'HR', 'HU', 'IE', 'IM', 'IS', 'IT', 'JE', 'LI', 'LT', 'LU', 'LV', 'MC', 'MD', 'ME', 'MK', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'RU', 'SE', 'SI', 'SJ', 'SK', 'SM', 'TR', 'UA', 'VA' ),
		'Asia'                => array( 'AE', 'AF', 'AM', 'AP', 'AZ', 'BD', 'BH', 'BN', 'BT', 'CC', 'CY', 'CN', 'CX', 'GE', 'HK', 'ID', 'IL', 'IN', 'IO', 'IQ', 'IR', 'YE', 'JO', 'JP', 'KG', 'KH', 'KP', 'KR', 'KW', 'KZ', 'LA', 'LB', 'LK', 'MY', 'MM', 'MN', 'MO', 'MV', 'NP', 'OM',	'PH', 'PK', 'PS', 'QA', 'SA', 'SG', 'SY', 'TH', 'TJ', 'TL', 'TM', 'TW', 'UZ', 'VN' ),
		'Australia & Oceania' => array( 'AS', 'AU', 'CK', 'FJ', 'FM', 'GU', 'KI', 'MH', 'MP', 'NC', 'NF', 'NR', 'NU', 'NZ', 'PF', 'PG', 'PN', 'PW', 'SB', 'TK', 'TO', 'TV', 'UM', 'VU', 'WF', 'WS' ),
		'Central America'     => array( 'AG', 'AI', 'AN', 'AW', 'BB', 'BL', 'BM', 'BS', 'BZ', 'CR', 'CU', 'DM', 'DO', 'GD', 'GL', 'GP', 'GT', 'HN', 'HT', 'JM', 'KY', 'KN', 'LC', 'MF', 'MQ', 'MS', 'NI', 'PA', 'PM', 'PR', 'SV', 'TC', 'TT', 'VC', 'VG', 'VI' ),
		'South America'       => array( 'AR', 'BO', 'BR', 'CL', 'CO', 'EC', 'FK', 'GF', 'GY', 'GY', 'PE', 'PY', 'SR', 'UY', 'VE' ),
		'Africa'              => array( 'AO', 'BF', 'BI', 'BJ', 'BW', 'CD', 'CF', 'CG', 'CI', 'CM', 'CV', 'DJ', 'DZ', 'EG', 'EH', 'ER', 'ET', 'GA', 'GH', 'GM', 'GN', 'GQ', 'GW', 'YT', 'KE', 'KM', 'LY', 'LR', 'LS', 'MA', 'MG', 'ML', 'MR', 'MU', 'MW', 'MZ', 'NA', 'NE', 'NG', 'RE', 'RW', 'SC', 'SD', 'SH', 'SL', 'SN', 'SO', 'ST', 'SZ', 'TD', 'TG', 'TN', 'TZ', 'UG', 'ZA', 'ZM', 'ZW' ),
	);
	foreach ( $data as $continent => $countries ) {
		if ( in_array( $country, $countries ) ) {
			return $continent;
		}
	}
	return '';
}

Convert country code from ISO ALPHA-2 to ISO ALPHA-3 in PHP

/**
 * country_code_alpha2_to_alpha3.
 */
function country_code_alpha2_to_alpha3( $alpha2 ) {
	$data = array(
		'AF' => 'AFG',
		'AX' => 'ALA',
		'AL' => 'ALB',
		'DZ' => 'DZA',
		'AS' => 'ASM',
		'AD' => 'AND',
		'AO' => 'AGO',
		'AI' => 'AIA',
		'AQ' => 'ATA',
		'AG' => 'ATG',
		'AR' => 'ARG',
		'AM' => 'ARM',
		'AW' => 'ABW',
		'AU' => 'AUS',
		'AT' => 'AUT',
		'AZ' => 'AZE',
		'BS' => 'BHS',
		'BH' => 'BHR',
		'BD' => 'BGD',
		'BB' => 'BRB',
		'BY' => 'BLR',
		'BE' => 'BEL',
		'BZ' => 'BLZ',
		'BJ' => 'BEN',
		'BM' => 'BMU',
		'BT' => 'BTN',
		'BO' => 'BOL',
		'BA' => 'BIH',
		'BW' => 'BWA',
		'BV' => 'BVT',
		'BR' => 'BRA',
		'VG' => 'VGB',
		'IO' => 'IOT',
		'BN' => 'BRN',
		'BG' => 'BGR',
		'BF' => 'BFA',
		'BI' => 'BDI',
		'KH' => 'KHM',
		'CM' => 'CMR',
		'CA' => 'CAN',
		'CV' => 'CPV',
		'KY' => 'CYM',
		'CF' => 'CAF',
		'TD' => 'TCD',
		'CL' => 'CHL',
		'CN' => 'CHN',
		'HK' => 'HKG',
		'MO' => 'MAC',
		'CX' => 'CXR',
		'CC' => 'CCK',
		'CO' => 'COL',
		'KM' => 'COM',
		'CG' => 'COG',
		'CD' => 'COD',
		'CK' => 'COK',
		'CR' => 'CRI',
		'CI' => 'CIV',
		'HR' => 'HRV',
		'CU' => 'CUB',
		'CY' => 'CYP',
		'CZ' => 'CZE',
		'DK' => 'DNK',
		'DJ' => 'DJI',
		'DM' => 'DMA',
		'DO' => 'DOM',
		'EC' => 'ECU',
		'EG' => 'EGY',
		'SV' => 'SLV',
		'GQ' => 'GNQ',
		'ER' => 'ERI',
		'EE' => 'EST',
		'ET' => 'ETH',
		'FK' => 'FLK',
		'FO' => 'FRO',
		'FJ' => 'FJI',
		'FI' => 'FIN',
		'FR' => 'FRA',
		'GF' => 'GUF',
		'PF' => 'PYF',
		'TF' => 'ATF',
		'GA' => 'GAB',
		'GM' => 'GMB',
		'GE' => 'GEO',
		'DE' => 'DEU',
		'GH' => 'GHA',
		'GI' => 'GIB',
		'GR' => 'GRC',
		'GL' => 'GRL',
		'GD' => 'GRD',
		'GP' => 'GLP',
		'GU' => 'GUM',
		'GT' => 'GTM',
		'GG' => 'GGY',
		'GN' => 'GIN',
		'GW' => 'GNB',
		'GY' => 'GUY',
		'HT' => 'HTI',
		'HM' => 'HMD',
		'VA' => 'VAT',
		'HN' => 'HND',
		'HU' => 'HUN',
		'IS' => 'ISL',
		'IN' => 'IND',
		'ID' => 'IDN',
		'IR' => 'IRN',
		'IQ' => 'IRQ',
		'IE' => 'IRL',
		'IM' => 'IMN',
		'IL' => 'ISR',
		'IT' => 'ITA',
		'JM' => 'JAM',
		'JP' => 'JPN',
		'JE' => 'JEY',
		'JO' => 'JOR',
		'KZ' => 'KAZ',
		'KE' => 'KEN',
		'KI' => 'KIR',
		'KP' => 'PRK',
		'KR' => 'KOR',
		'KW' => 'KWT',
		'KG' => 'KGZ',
		'LA' => 'LAO',
		'LV' => 'LVA',
		'LB' => 'LBN',
		'LS' => 'LSO',
		'LR' => 'LBR',
		'LY' => 'LBY',
		'LI' => 'LIE',
		'LT' => 'LTU',
		'LU' => 'LUX',
		'MK' => 'MKD',
		'MG' => 'MDG',
		'MW' => 'MWI',
		'MY' => 'MYS',
		'MV' => 'MDV',
		'ML' => 'MLI',
		'MT' => 'MLT',
		'MH' => 'MHL',
		'MQ' => 'MTQ',
		'MR' => 'MRT',
		'MU' => 'MUS',
		'YT' => 'MYT',
		'MX' => 'MEX',
		'FM' => 'FSM',
		'MD' => 'MDA',
		'MC' => 'MCO',
		'MN' => 'MNG',
		'ME' => 'MNE',
		'MS' => 'MSR',
		'MA' => 'MAR',
		'MZ' => 'MOZ',
		'MM' => 'MMR',
		'NA' => 'NAM',
		'NR' => 'NRU',
		'NP' => 'NPL',
		'NL' => 'NLD',
		'AN' => 'ANT',
		'NC' => 'NCL',
		'NZ' => 'NZL',
		'NI' => 'NIC',
		'NE' => 'NER',
		'NG' => 'NGA',
		'NU' => 'NIU',
		'NF' => 'NFK',
		'MP' => 'MNP',
		'NO' => 'NOR',
		'OM' => 'OMN',
		'PK' => 'PAK',
		'PW' => 'PLW',
		'PS' => 'PSE',
		'PA' => 'PAN',
		'PG' => 'PNG',
		'PY' => 'PRY',
		'PE' => 'PER',
		'PH' => 'PHL',
		'PN' => 'PCN',
		'PL' => 'POL',
		'PT' => 'PRT',
		'PR' => 'PRI',
		'QA' => 'QAT',
		'RE' => 'REU',
		'RO' => 'ROU',
		'RU' => 'RUS',
		'RW' => 'RWA',
		'BL' => 'BLM',
		'SH' => 'SHN',
		'KN' => 'KNA',
		'LC' => 'LCA',
		'MF' => 'MAF',
		'PM' => 'SPM',
		'VC' => 'VCT',
		'WS' => 'WSM',
		'SM' => 'SMR',
		'ST' => 'STP',
		'SA' => 'SAU',
		'SN' => 'SEN',
		'RS' => 'SRB',
		'SC' => 'SYC',
		'SL' => 'SLE',
		'SG' => 'SGP',
		'SK' => 'SVK',
		'SI' => 'SVN',
		'SB' => 'SLB',
		'SO' => 'SOM',
		'ZA' => 'ZAF',
		'GS' => 'SGS',
		'SS' => 'SSD',
		'ES' => 'ESP',
		'LK' => 'LKA',
		'SD' => 'SDN',
		'SR' => 'SUR',
		'SJ' => 'SJM',
		'SZ' => 'SWZ',
		'SE' => 'SWE',
		'CH' => 'CHE',
		'SY' => 'SYR',
		'TW' => 'TWN',
		'TJ' => 'TJK',
		'TZ' => 'TZA',
		'TH' => 'THA',
		'TL' => 'TLS',
		'TG' => 'TGO',
		'TK' => 'TKL',
		'TO' => 'TON',
		'TT' => 'TTO',
		'TN' => 'TUN',
		'TR' => 'TUR',
		'TM' => 'TKM',
		'TC' => 'TCA',
		'TV' => 'TUV',
		'UG' => 'UGA',
		'UA' => 'UKR',
		'AE' => 'ARE',
		'GB' => 'GBR',
		'US' => 'USA',
		'UM' => 'UMI',
		'UY' => 'URY',
		'UZ' => 'UZB',
		'VU' => 'VUT',
		'VE' => 'VEN',
		'VN' => 'VNM',
		'VI' => 'VIR',
		'WF' => 'WLF',
		'EH' => 'ESH',
		'YE' => 'YEM',
		'ZM' => 'ZMB',
		'ZW' => 'ZWE',
	);
	return ( isset( $data[ $alpha2 ] ) ? $data[ $alpha2 ] : '' );
}

Check if country is in Europe in PHP

/**
 * is_europe_country.
 */
function is_europe_country( $country ) {
	$europe = array( 'AD', 'AL', 'AT', 'AX', 'BA', 'BE', 'BG', 'BY', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FO', 'FR', 'FX', 'GB', 'GG', 'GI', 'GR', 'HR', 'HU', 'IE', 'IM', 'IS', 'IT', 'JE', 'LI', 'LT', 'LU', 'LV', 'MC', 'MD', 'ME', 'MK', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'RU', 'SE', 'SI', 'SJ', 'SK', 'SM', 'TR', 'UA', 'VA' );
	return in_array( $country, $europe );
}

Parse a string into a number in PHP

/**
 * Simple way to parse a string to PHP number.
 */
function parse_string_to_php_number( $number_string ) {
	if ( false !== strpos( $number_string, '.' ) ) {
		// a) correct decimal number - no changes, e.g.: 2.45
		// b) with comma as thousands separator, e.g.: 1,200.45 -> 1200.45
		return str_replace( ',', '', $number_string );
	} else {
		// a) integer - no changes, e.g.: 2
		// b) with comma as decimal separator, e.g.: 1200,45 -> 1200.45
		return str_replace( ',', '.', $number_string );
	}
}