Mit NumberFormatter::formatCurrency holt man sich noch eine Abhängigkeit vom Paket PHP Intl.
php.net/manual/de/book.intl.php
NumberFormatter::formatCurrency braucht den Parameter "currency", welcher der ISO 4217-Code als String ist.
de.wikipedia.org/wiki/ISO_4217
Das Währungssymbol ist auch nicht eindeutig, wie man z.B. an Dollar oder Kronen sieht (Norwegen und Schweden). Also müsste man dann schon den ISO-Code mit anzeigen, damit klar ist welche Währung gemeint ist.
USD ($)
SEK (kr)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php
$array = array (
"EUR" => "EUR (€)" ,
"USD" => "USD ($)" ,
"GBP" => "GBP (£)" ,
"SEK" => "SEK (kr)" ,
"NOK" => "NOK (kr)" ,
);
echo '<html><head><title>Test</title></head><body>' ;
echo '<select name="currency">' ;
foreach ( $array as & $value ) {
echo '<option>' . $value . '</option>' ;
}
echo '</select><br><br>' ;
echo 'Zuordnungen Wert (ISO 4217 Code und Symbol) zu Schlüssel (ISO 4217 Code): <br>' ;
echo 'SEK (kr) -> ' . array_search ( 'SEK (kr)' , $array ). '<br>' ;
echo 'NOK (kr) -> ' . array_search ( 'NOK (kr)' , $array ). '<br>' ;
echo 'USD ($) -> ' . array_search ( 'USD ($)' , $array ). '<br>' ;
echo '</body></html>' ;
?>
|
php.net/manual/de/function.array-search.php
Wenn man den ISO-Code nicht als Parameter für irgendwas gebraucht, kann man ja auch einfach die Auswahl der Währung abspeichern (z.B. "USD ($)") und diese immer nutzen, wenn in der Kasse ein Geldbetrag anzeigt wird. Die Zuordnung ISO-Code zu den Text den man später anzeigen will ist dann ja überflüssig.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php
$array = array (
"EUR (€)" ,
"USD ($)" ,
"GBP (£)" ,
"SEK (kr)" ,
"NOK (kr)" ,
);
echo '<html><head><title>Test</title></head><body>' ;
echo '<select name="currency">' ;
foreach ( $array as & $value ) {
echo '<option>' . $value . '</option>' ;
}
echo '</select></body></html>' ;
?>
|
Also wenn die Kasse in USD ($) wäre:

Zitat
Kontostand Gesamt: 10.00 USD ($)
Insgesamt eingezahlt: 10.00 USD ($)
Insgesamt ausgezahlt: 0 USD ($)
Balance total: 10.00 USD ($)
Total paid: 10.00 USD ($)
Total paid out: 0 USD ($)
Wenn man es furchtbar genau nimmt, müsste man ja sogar noch berücksichtigen ob die Währung vor oder nach der Zahl steht und ob Punkt oder Komma.

Zitat
UK: €12,345.68
DE: 12.345,68 €
akrabat.com/using-phps-numberformatter-to-format-currencies/