2012-05-23 16 views
10

Dlaczego pojawia się ten błąd? KodBłąd krytyczny w funkcji money_format

:

setlocale(LC_MONETARY, "en_US"); 
$pricetotal = money_format("%10.2n", $pricetotal); 

dane serwera.

Apache Version : 2.2.21 
PHP Version : 5.3.8 

Dostaję następujący błąd

Fatal error: Call to undefined function money_format() 
+0

masz inny kod? to powinno działać; Jedynym powodem, dla którego mogłem zasugerować na tym skrzyżowaniu jest to, że jesteś w przestrzeni nazw ... –

+3

możliwy duplikat [Jak możemy użyć funkcji money_format() w php na platformie Windows .?](http://stackoverflow.com/questions/6369887/how-we-can-can-use-money-format-function-in-php-on-windows-platform) – deceze

+0

Oto rozwiązania ... To działało .http: //www.php.net/manual/en /function.money-format.php#89060 – Parthi04

Odpowiedz

15

Z manual:

Funkcja money_format() jest zdefiniowany tylko wtedy, gdy system ma strfmon możliwości. Na przykład system Windows nie jest, więc jest niezdefiniowany w systemie Windows.

money_format() jest po prostu otoki wokół funkcji biblioteki C strfmon() jako państw ręcznych.

Po sprawdzeniu komentarzy istnieje an implementation by Rafael M. Salvioni. Warte spróbowania. Możesz sprawdzić, czy jest już zdefiniowany za pomocą function_exists().

Odpowiedzi na this StackOverflow question dają dalsze (i prawdopodobnie lepsze) alternatywy (thx danielson317).

+0

Po prostu dodaję funkcję, jest implementacja autorstwa Rafaela M. Salvioniego do mojej strony to działa. +1 dla linków – bungdito

+0

Ta funkcja nie działa dla mnie. Otrzymuję istotność: Ostrzeżenie Wiadomość: implode(): Niepoprawne argumenty przekazane – CMCDragonkai

+1

moduł intl wspomniany w http://stackoverflow.com/questions/6369887/how-we-can-use-money-format-function-in- php-on-windows-platforma jest znacznie lepszym rozwiązaniem. Nadal +1 za bycie prawidłową odpowiedzią. – danielson317

1

Może to?

Uwaga:

Funkcja money_format() jest zdefiniowany tylko wtedy, gdy system ma strfmon możliwości. Na przykład Windows nie, więc money_format() jest niezdefiniowany w systemie Windows.

http://php.net/money_format

+0

jest jakieś rozwiązanie dla okna? – Parthi04

+1

http://stackoverflow.com/questions/6369887/how-we-can-use-money-format-function-in-php-on-windows-platform – deceze

4

Dla tych, którzy money_format nie działa, można użyć:

$price = number_format($price, 2); echo “$”.$price; 
+0

Dziękuję. Pomogło mi to w oknach! +1 przegłosowano – Tchaps

Powiązane problemy