Ich importiere eine Excel-Datei.PHP - Implizite Typbehandlung funktioniert nicht?
Die Datei enthält gemischte Datentypen - Artikelcode, Währungswerte, Datumsangaben.
Die Itemcodes können Nullen haben führende, also verwende ich:
$objPHPExcel->getActiveSheet()->toArray('', false, true, false);
Wie man erwarten würde, dies die führenden Nullen wird beibehalten, und auch Nummer beibehalten Formatierung: 12,345.00
Die Problem ist, dass wir bestimmte Zahlen im Float-Format benötigen, um Operationen an ihnen auszuführen.
Aus irgendeinem Grund führt PHP keine implizite Typkonvertierung durch.
z.B .:
$value = "21,356.00";
$newvalue = $value * 2;
Das gibt: 42. Ich erwartete es 42.712,00 zurückzukehren.
Warum passiert das?
Mit der Excel-Datei wissen wir nur, welche Spalte die Artikelnummern enthält. Die anderen Spalten können alles sein, also kann ich nicht einfach über alle hinweg schweben. Wir identifizieren sie anhand der Kopfzeile in der Datei.
Idealerweise müssen wir implizit Typ Umwandlung in Arbeit.
Irgendwelche Vorschläge?