Hướng dẫn get currency symbol php
Let's start with simple piece of code to format money with
This prints: 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:
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? asked Dec 16, 2012 at 0:35
umpirskyumpirsky 9,75213 gold badges71 silver badges94 bronze badges 6 First of all, there is no international global currency symbol table, that anyone on the planet could read and understand. In each region/country the currency symbols will differ, that`s why you must determine them based on who is reading, using the browser / user locale. The correct way is as you guessed, using NumberFormatter::CURRENCY_SYMBOL, but you first have to set the appropriate locale like en-US@currency=JPY:
This way the symbol will be understandable by the user. For example, $symbol will be:
answered May 4, 2015 at 9:30
idragosalexidragosalex 1,4751 gold badge12 silver badges8 bronze badges 1 I achieved this using https://github.com/symfony/Intl:
returns
Symfony version > 4.3 It's worth pointing out for SF4.3 and above this has been deprecated:
So, instead you can do:
flumingo 5132 gold badges7 silver badges24 bronze badges answered Jun 5, 2013 at 14:10
umpirskyumpirsky 9,75213 gold badges71 silver badges94 bronze badges 4 Since the symbols can be multi-byte I used mb_*() functions to correctly grab the all non-punctuation and non-digit chars which would just leaves the symbol.
answered Dec 16, 2012 at 1:16
cryptic ツcryptic ツ 15k9 gold badges53 silver badges80 bronze badges 4 If you set the locale using this function answered May 23, 2016 at 20:55
0 You can use Symfony Intl Component Install it via composer using Then get the HTML symbol with the following
answered Apr 18, 2020 at 22:09
aphoeaphoe 2,36625 silver badges29 bronze badges Cryptic has a good answer, but there is a simpler way to do it:
This is a nice simple inline solution that doesn't require declaring another function, however it also doesn't properly handle all cases - i.e. currencies where letters are part of the output. But for distinguishing between e.g. $ and £, it works fine. answered Mar 14, 2014 at 11:02
BenubirdBenubird 17.6k26 gold badges87 silver badges136 bronze badges
Will give you an associative array of 3 letter currency codes to their symbol. Can then use like this:
answered Mar 16, 2016 at 2:14
Try this variant:
answered Feb 7, 2013 at 7:57
0 |