ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
1525
1525
EMPFEHLEN
-
Hi.
Ich bastell an einem Webshop, und binde UPS Tools ein.
Das ist auch gelungen.
Jetzt muss ich eine Variable runden, das mache ich mit
daergebnis ist x,xx (mit einem Komma als Dezimaltrenner.PHP-Code:$var = round($var,2);
Jetzt zum Problem:
Ich habe dann den wert mit
geändert.PHP-Code:$var = str_replace(",",".",$var);
Aber das Webshop Script (PHP, OsCommerce Conribution UPSXML)
verarbeitet dieses Variable irgendwie selbst, und ich bekomme die Fehlermeldung:
---- Fatal error: Cannot use string offset as an array in ...... -------
Was ich nicht hinbekomme ist das Komma zu ersetzen, um es UPS tauglich zu machen, der nimmt nur das Zahleformat "x.xx" an.
Ich weiss das es schwer ist ohne das Script komplett zu zeigen, mir zu helfen.
Aber ich will auch diese Fehler meldung Verstehen.
Mein Vermutungen:
1. Das liegt an der Codepage (Länderkodierung) des Browser oder des Servers.
Die Codepage einstellungen will ich wenns geht nicht ändern, weil sonst ja der Webshop komplett ein andere einstellung bekommt.
2. Die Variable auf die zugreifen will ist eine Referenz Variable oder so etwas,und ich versuche immer einen Referenzwert zu ändern, und nicht den Tatsächlichen Wert der Variable.
3. Das hier verstehe ich nocht nicht als Code:
Wenn dann Inline ?
Könnte mir da bitte jemand das hier erklären? (Bekommst auch Richtig vile Lob und so...PHP-Code:$this->item_weight[$index] = ($weight ? (string)$weight : '0' );
)
4. So was eigentlich Passieren soll ist:
Soll "x.xx" bekommen, aber bekommt dieses Format "x,xx" , und UPS nimmt das nicht an.PHP-Code:<Weight>" . $this->item_weight[$i] . "</Weight>\n".
Ich habe hier mit str_replace, number_format und strstr undundund probiert...
Folge war immer die Fehlermeldung von oben, wenn ichrgendwas an "$this->item_weight[$i]" geändert habe.....
Bin jetzt mit 12 Std. und recherche wohl auf dem Holzweg und sehe die Wälder vor Lauter globalisierung nicht mehr....
Also ich weis genau was ich gändert haben will, aber nix geht...
Trändrüsedrückextrem: HILFE ! Ich breack; together und sowas.... Verdammte Winterdepression.....
THX Joshi aus HHGeändert von Joshman (03.11.07 um 18:12 Uhr) Grund: Irgendwie ist der PHP Code nicht Vollständig übernommen worden...
Träume nicht dein Leben, lebe deinen Traum.
-
04.11.07 02:13 #2Das ist der sogenannte ternäre Operator mit dem sie bei OS:Commerce leider sehr viel arbeiten... Teilweise übertrieben viel. Es ist eine Kurzform zum if() Konstrukt.PHP-Code:
$this->item_weight[$index] = ($weight ? (string)$weight : '0' );
Man könnte es auch so schreiben:
Zu den anderen Fehlern kann ich ohne den gesamten Code nichts sagen.PHP-Code:if($weight)
{
$this->item_weight[$index] = (string)$weight;
}
else
{
$this->item_weight[$index] = 0;
}
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
05.11.07 11:19 #3
Hallo,
vielleicht so:
Könnte funktionieren, muss aber nicht. Wie lautet denn die Fehlermeldung komplett? Bzw. wie sieht denn die Zeile aus, auf die der Fehler verweist?PHP-Code:$var = str_replace(",",".",strval($var));
MfG Erik
Ähnliche Themen
-
Komma wird zu Punkt - aber wie wieder rückgängig?
Von TechM im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 09.10.06, 21:38 -
round() gibt bei 2 stelle hinter Komma keine 0 aus
Von mrepox im Forum PHPAntworten: 2Letzter Beitrag: 04.09.06, 23:05 -
Punkt als Komma
Von Jai im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 05.08.05, 13:03 -
Punkt und Komma in PHP
Von DaRula im Forum PHPAntworten: 7Letzter Beitrag: 11.03.05, 23:51 -
Punkt zu Komma
Von racer_lars im Forum .NET ArchivAntworten: 6Letzter Beitrag: 08.07.04, 15:55





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren