1 | <?php |
||
13 | class Currency |
||
14 | { |
||
15 | /** |
||
16 | * Country currency ISO codes |
||
17 | * |
||
18 | * @var array |
||
19 | */ |
||
20 | private $currenciesIso = array( |
||
21 | 'AD' => 'EUR', |
||
22 | 'AE' => 'AED', |
||
23 | 'AF' => 'AFN', |
||
24 | 'AG' => 'XCD', |
||
25 | 'AI' => 'XCD', |
||
26 | 'AL' => 'ALL', |
||
27 | 'AM' => 'AMD', |
||
28 | 'AN' => 'ANG', |
||
29 | 'AO' => 'AOA', |
||
30 | 'AR' => 'ARS', |
||
31 | 'AS' => 'USD', |
||
32 | 'AT' => 'EUR', |
||
33 | 'AU' => 'AUD', |
||
34 | 'AW' => 'AWG', |
||
35 | 'AZ' => 'AZN', |
||
36 | 'BA' => 'BAM', |
||
37 | 'BB' => 'BBD', |
||
38 | 'BD' => 'BDT', |
||
39 | 'BE' => 'EUR', |
||
40 | 'BF' => 'XOF', |
||
41 | 'BG' => 'BGN', |
||
42 | 'BH' => 'BHD', |
||
43 | 'BI' => 'BIF', |
||
44 | 'BJ' => 'XOF', |
||
45 | 'BL' => 'EUR', |
||
46 | 'BM' => 'BMD', |
||
47 | 'BN' => 'BND', |
||
48 | 'BO' => 'BOB', |
||
49 | 'BR' => 'BRL', |
||
50 | 'BS' => 'BSD', |
||
51 | 'BT' => 'BTN', |
||
52 | 'BV' => 'NOK', |
||
53 | 'BW' => 'BWP', |
||
54 | 'BY' => 'BYN', |
||
55 | 'BZ' => 'BZD', |
||
56 | 'CA' => 'CAD', |
||
57 | 'CC' => 'AUD', |
||
58 | 'CD' => 'CDF', |
||
59 | 'CF' => 'XAF', |
||
60 | 'CG' => 'CDF', |
||
61 | 'CH' => 'CHF', |
||
62 | 'CI' => 'XOF', |
||
63 | 'CK' => 'NZD', |
||
64 | 'CL' => 'CLP', |
||
65 | 'CM' => 'XAF', |
||
66 | 'CN' => 'CNY', |
||
67 | 'CO' => 'COP', |
||
68 | 'CR' => 'CRC', |
||
69 | 'CU' => 'CUP', |
||
70 | 'CV' => 'CVE', |
||
71 | 'CW' => 'ANG', |
||
72 | 'CX' => 'AUD', |
||
73 | 'CY' => 'EUR', |
||
74 | 'CZ' => 'CZK', |
||
75 | 'DE' => 'EUR', |
||
76 | 'DJ' => 'DJF', |
||
77 | 'DK' => 'DKK', |
||
78 | 'DM' => 'XCD', |
||
79 | 'DO' => 'DOP', |
||
80 | 'DZ' => 'DZD', |
||
81 | 'EC' => 'USD', |
||
82 | 'EE' => 'EUR', |
||
83 | 'EG' => 'EGP', |
||
84 | 'EH' => 'MAD', |
||
85 | 'ER' => 'ERN', |
||
86 | 'ES' => 'EUR', |
||
87 | 'ET' => 'ETB', |
||
88 | 'FI' => 'EUR', |
||
89 | 'FJ' => 'FJD', |
||
90 | 'FK' => 'FKP', |
||
91 | 'FM' => 'USD', |
||
92 | 'FO' => 'DKK', |
||
93 | 'FR' => 'EUR', |
||
94 | 'GA' => 'XAF', |
||
95 | 'GB' => 'GBP', |
||
96 | 'GD' => 'XCD', |
||
97 | 'GE' => 'GEL', |
||
98 | 'GF' => 'EUR', |
||
99 | 'GG' => 'GGP', |
||
100 | 'GH' => 'GHS', |
||
101 | 'GI' => 'GIP', |
||
102 | 'GL' => 'DKK', |
||
103 | 'GM' => 'GMD', |
||
104 | 'GN' => 'GNF', |
||
105 | 'GP' => 'EUR', |
||
106 | 'GQ' => 'XAF', |
||
107 | 'GR' => 'EUR', |
||
108 | 'GS' => 'GBP', |
||
109 | 'GT' => 'GTQ', |
||
110 | 'GU' => 'USD', |
||
111 | 'GW' => 'XOF', |
||
112 | 'GY' => 'GYD', |
||
113 | 'HK' => 'HKD', |
||
114 | 'HM' => 'AUD', |
||
115 | 'HN' => 'HNL', |
||
116 | 'HR' => 'HRK', |
||
117 | 'HT' => 'HTG', |
||
118 | 'HU' => 'HUF', |
||
119 | 'ID' => 'IDR', |
||
120 | 'IE' => 'EUR', |
||
121 | 'IL' => 'ILS', |
||
122 | 'IM' => 'IMP', |
||
123 | 'IN' => 'INR', |
||
124 | 'IO' => 'USD', |
||
125 | 'IQ' => 'IQD', |
||
126 | 'IR' => 'IRR', |
||
127 | 'IS' => 'ISK', |
||
128 | 'IT' => 'EUR', |
||
129 | 'JE' => 'JEP', |
||
130 | 'JM' => 'JMD', |
||
131 | 'JO' => 'JOD', |
||
132 | 'JP' => 'JPY', |
||
133 | 'KE' => 'KES', |
||
134 | 'KG' => 'KGS', |
||
135 | 'KH' => 'KHR', |
||
136 | 'KI' => 'AUD', |
||
137 | 'KM' => 'KMF', |
||
138 | 'KN' => 'XCD', |
||
139 | 'KP' => 'KPW', |
||
140 | 'KR' => 'KRW', |
||
141 | 'KW' => 'KWD', |
||
142 | 'KY' => 'KYD', |
||
143 | 'KZ' => 'KZT', |
||
144 | 'LA' => 'LAK', |
||
145 | 'LB' => 'LBP', |
||
146 | 'LC' => 'XCD', |
||
147 | 'LI' => 'CHF', |
||
148 | 'LK' => 'LKR', |
||
149 | 'LR' => 'LRD', |
||
150 | 'LS' => 'LSL', |
||
151 | 'LT' => 'EUR', |
||
152 | 'LU' => 'EUR', |
||
153 | 'LV' => 'EUR', |
||
154 | 'LY' => 'LYD', |
||
155 | 'MA' => 'MAD', |
||
156 | 'MC' => 'EUR', |
||
157 | 'MD' => 'MDL', |
||
158 | 'ME' => 'EUR', |
||
159 | 'MG' => 'MGA', |
||
160 | 'MH' => 'USD', |
||
161 | 'MK' => 'MKD', |
||
162 | 'ML' => 'XOF', |
||
163 | 'MM' => 'MMK', |
||
164 | 'MN' => 'MNT', |
||
165 | 'MO' => 'MOP', |
||
166 | 'MP' => 'USD', |
||
167 | 'MQ' => 'EUR', |
||
168 | 'MR' => 'MRO', |
||
169 | 'MS' => 'XCD', |
||
170 | 'MT' => 'EUR', |
||
171 | 'MU' => 'MUR', |
||
172 | 'MV' => 'MVR', |
||
173 | 'MW' => 'MWK', |
||
174 | 'MX' => 'MXN', |
||
175 | 'MY' => 'MYR', |
||
176 | 'MZ' => 'MZN', |
||
177 | 'NA' => 'NAD', |
||
178 | 'NC' => 'XPF', |
||
179 | 'NE' => 'XOF', |
||
180 | 'NF' => 'AUD', |
||
181 | 'NG' => 'NGN', |
||
182 | 'NI' => 'NIO', |
||
183 | 'NL' => 'EUR', |
||
184 | 'NO' => 'NOK', |
||
185 | 'NP' => 'NPR', |
||
186 | 'NR' => 'AUD', |
||
187 | 'NU' => 'NZD', |
||
188 | 'NZ' => 'NZD', |
||
189 | 'OM' => 'OMR', |
||
190 | 'PA' => 'PAB', |
||
191 | 'PE' => 'PEN', |
||
192 | 'PF' => 'XPF', |
||
193 | 'PG' => 'PGK', |
||
194 | 'PH' => 'PHP', |
||
195 | 'PK' => 'PKR', |
||
196 | 'PL' => 'PLN', |
||
197 | 'PM' => 'EUR', |
||
198 | 'PN' => 'GBP', |
||
199 | 'PR' => 'USD', |
||
200 | 'PS' => 'ILS', |
||
201 | 'PT' => 'EUR', |
||
202 | 'PW' => 'USD', |
||
203 | 'PY' => 'PYG', |
||
204 | 'QA' => 'QAR', |
||
205 | 'RE' => 'EUR', |
||
206 | 'RO' => 'RON', |
||
207 | 'RS' => 'RSD', |
||
208 | 'RU' => 'RUB', |
||
209 | 'RW' => 'RWF', |
||
210 | 'SA' => 'SAR', |
||
211 | 'SB' => 'SBD', |
||
212 | 'SC' => 'SCR', |
||
213 | 'SD' => 'SDG', |
||
214 | 'SE' => 'SEK', |
||
215 | 'SG' => 'SGD', |
||
216 | 'SH' => 'SHP', |
||
217 | 'SI' => 'EUR', |
||
218 | 'SJ' => 'NOK', |
||
219 | 'SK' => 'EUR', |
||
220 | 'SL' => 'SLL', |
||
221 | 'SM' => 'EUR', |
||
222 | 'SN' => 'XOF', |
||
223 | 'SO' => 'SOS', |
||
224 | 'SR' => 'SRD', |
||
225 | 'SS' => 'SSP', |
||
226 | 'ST' => 'STD', |
||
227 | 'SV' => 'USD', |
||
228 | 'SX' => 'ANG', |
||
229 | 'SY' => 'SYP', |
||
230 | 'SZ' => 'SZL', |
||
231 | 'TC' => 'USD', |
||
232 | 'TD' => 'XAF', |
||
233 | 'TF' => 'EUR', |
||
234 | 'TG' => 'XOF', |
||
235 | 'TH' => 'THB', |
||
236 | 'TJ' => 'TJS', |
||
237 | 'TK' => 'NZD', |
||
238 | 'TL' => 'USD', |
||
239 | 'TM' => 'TMT', |
||
240 | 'TN' => 'TND', |
||
241 | 'TO' => 'TOP', |
||
242 | 'TR' => 'TRY', |
||
243 | 'TT' => 'TTD', |
||
244 | 'TV' => 'AUD', |
||
245 | 'TW' => 'TWD', |
||
246 | 'TZ' => 'TZS', |
||
247 | 'UA' => 'UAH', |
||
248 | 'UG' => 'UGX', |
||
249 | 'US' => 'USD', |
||
250 | 'UY' => 'UYU', |
||
251 | 'UZ' => 'UZS', |
||
252 | 'VA' => 'EUR', |
||
253 | 'VC' => 'XCD', |
||
254 | 'VE' => 'VEF', |
||
255 | 'VG' => 'USD', |
||
256 | 'VI' => 'USD', |
||
257 | 'VN' => 'VND', |
||
258 | 'VU' => 'VUV', |
||
259 | 'WF' => 'XPF', |
||
260 | 'WS' => 'WST', |
||
261 | 'XK' => 'EUR', |
||
262 | 'YE' => 'YER', |
||
263 | 'YT' => 'EUR', |
||
264 | 'ZA' => 'ZAR', |
||
265 | 'ZM' => 'ZMK', |
||
266 | 'ZW' => 'ZWL', |
||
267 | ); |
||
268 | |||
269 | /** |
||
270 | * Return currenncy Iso code from country Iso code |
||
271 | * |
||
272 | * @param string $countryIso Country Iso Code |
||
273 | * |
||
274 | * @return string |
||
275 | */ |
||
276 | 2 | public function getCurrencyIso(string $countryIso): string |
|
284 | } |
||
285 |