Hallo,
ich stehe hier vor einem sehr komischen Problem. Ich vergleiche zu Anfang eines Scripts zwei Werte:
$amount = (float) $amount;
if($amount != $completePrice) {
die("fehler");
}
$amount bekomme ich über die URL, $completePrice wird in einer Session gespeichert. Obwohl beide Werte gleich sind (zahlen), wird der Inhalt der If Abfrage ausgeführt, also das die(). Ich verstehe es nicht. Von der Logik her sollte es weiter gehen.
Das komische ist, das es bei einigen Zahlen wie z.B. 5370 tut, bei anderen wie z.B. 7360 nicht. Beide Zahlen sind IMMER identisch.
EDIT:
es wird skuriler. Ich habe jetzt folgendes gemacht:
Wert completePrice = 7360 (double).
$completePrice = (int) $completePrice;
Wert completePrice danach = 7359![dontknow](https://www.php-resource.de/forum/core/images/smilies/fragend013.gif)
Wieso bekomme ich jetzt diesen Wert? Ist doch unlogisch.
Bei 5370 hingegen bekomme ich auch 5370.
PHP Version 5.3.18-nmm1 (gibts evtl. einen Bug in der Version?)
ich stehe hier vor einem sehr komischen Problem. Ich vergleiche zu Anfang eines Scripts zwei Werte:
$amount = (float) $amount;
if($amount != $completePrice) {
die("fehler");
}
$amount bekomme ich über die URL, $completePrice wird in einer Session gespeichert. Obwohl beide Werte gleich sind (zahlen), wird der Inhalt der If Abfrage ausgeführt, also das die(). Ich verstehe es nicht. Von der Logik her sollte es weiter gehen.
Das komische ist, das es bei einigen Zahlen wie z.B. 5370 tut, bei anderen wie z.B. 7360 nicht. Beide Zahlen sind IMMER identisch.
EDIT:
es wird skuriler. Ich habe jetzt folgendes gemacht:
Wert completePrice = 7360 (double).
$completePrice = (int) $completePrice;
Wert completePrice danach = 7359
![dontknow](https://www.php-resource.de/forum/core/images/smilies/fragend013.gif)
Wieso bekomme ich jetzt diesen Wert? Ist doch unlogisch.
Bei 5370 hingegen bekomme ich auch 5370.
PHP Version 5.3.18-nmm1 (gibts evtl. einen Bug in der Version?)
Kommentar