Не отвечая на ваш вопрос, но:
Начиная с PHP5.3 intl стало значением по умолчанию.Он содержит NumberFormatter :: formatCurrency () , который делает то, что пытается сделать связанная с вами страна_currency () - только правильно.Если PHP5.3 является жизнеспособным минимальным требованием (учитывая, что 5.2 устарела и больше не поддерживается) - используйте функции intl.
С Locale :: acceptFromHttp () вы можете проверить браузерпопросите заголовки предварительно выбрать наиболее подходящую локаль.
Ваш список ISO-кодов стран по-прежнему должен быть полезен для руководства <select>
на определенном уровне.Но имейте в виду, что это не совсем точно: Германия переводится как de
, что может быть недостаточно конкретным, если смотреть de_AT
, de_CH
, de_DE
.Каждый из них может представлять валюту по-своему.€1,123.23
, 1 123,23 €
и т. Д.Вам все равно нужно будет знать, какую валюту вы обрабатываете.Таким образом, вам нужен список кодов стран ИСО И карта кода страны в валюте.