Let's start with simple piece of code to format money with NumberFormatter
:
$formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency(123456789, 'JPY');
This prints: ¥123,456,789
.
This is ok if you want to format money.
But what I want to do is to get currency symbol (e.g. ¥) for given currency ISO 4217 code (e.g. JPY).
My first guess was to try using:
$formatter->getSymbol(NumberFormatter::CURRENCY_SYMBOL);
But that gives currency symbol for locale given in constructor (en_US), $ in my case.
Is there a way to get currency symbol by currency ISO 4217 code in PHP?
/[^0-9,]*/
. – Antifederalistcurrency_symbol
and most of other data is empty for some reason. Thanks. – FaeroeseNumberFormatter::CURRENCY
has been deprecated since PHP 8.3 – Desiderata