Antwort an „Felix Riesterer“ verfassen

Lieber Rolf,

Geht man von einem Objekt oder assoziativen Array aus und serialisiert es mit json_encode(), ist der Fehler unmöglich. Einen Wert vom Typ Number mit Dezimalkomma gibt es in PHP nicht. Man erhält deswegen entweder "47,11" oder 47.11, die Mischform 47,11 ist ausgeschlossen.

wenn man aus 47,11 per str_replace() ein 47.11 macht, ist das kein Wert vom Typ Number, sondern noch immer ein String. Da wird auch json_encode() den Zahlenwert als String in seinen Anführungszeichen schreiben. Will man da „sauberes“ JSON erhalten, muss man das Ergebnis von str_replace() explizit in diesen Datentyp umwandeln. Entweder verwendet man dazu das Type-Casting $n = (float) str_replace(',', '.', $value);, oder eine passende Funktion wie floatval().

Liebe Grüße

Felix Riesterer

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen