BUG bei == ?!?
*ich*
- php
1 Cheatah0 *ich*0 dedlfix
0 Johannes Zeller0 Cheatah
Hallo zusammen,
eigentlich ist es mir schon etwas doof, dass zu fragen, aber warum gibt:
var_dump("64190000000000086" == "64190000000000085");
true zurück und nicht false?!?!?
Ich versteh die Welt nicht mehr!
var_dump("64190000000000086" === "64190000000000085"); ergibt übrigens dann false...
Danke für Antworten schon im Voraus.
Gruß
*Ich
PS: Vielleicht hilft es ja. Ich habe es auf einer PHP 5.1.2-1.dotdeb.2 (cli) und auf einer Version 5.1.2 auf Windows ausprobiert.
Hi,
eigentlich ist es mir schon etwas doof, dass zu fragen, aber warum gibt:
var_dump("64190000000000086" == "64190000000000085");
true zurück und nicht false?!?!?
weil PHP ein bisschen doof ist.
var_dump("64190000000000086" === "64190000000000085"); ergibt übrigens dann false...
Exakt. Im ersten Fall wandelt PHP die Werte implizit um - sie ergeben dann beide "6.419E+16". Ich bin ebenfalls der Meinung, dass das Schwachsinn ist. Das (symmetrische) Hinzufügen nicht-nummerischer Zeichen löst das Problem.
Cheatah
Hi Cheatah,
danke für deine Antwort!
weil PHP ein bisschen doof ist.
Exakt. Im ersten Fall wandelt PHP die Werte implizit um - sie ergeben dann beide "6.419E+16". Ich bin ebenfalls der Meinung, dass das Schwachsinn ist. Das (symmetrische) Hinzufügen nicht-nummerischer Zeichen löst das Problem.
Was heißt denn: Das symmetrsiche Hinzufügen nicht-numerischer Zeichen?!?!?
Gruß und ncoh einmal Danke!
*ich*
echo $begrüßung;
Was heißt denn: Das symmetrsiche Hinzufügen nicht-numerischer Zeichen?!?!?
Symmetrisch heißt "auf allen beteiligten Seiten gleichmäßig", und nicht-numerische Zeichen sind alle die, die keine Ziffern sind bzw. das Ergebnis so aussehen lassen, als ob es eine Zahl sei.
echo "$verabschiedung $name";
Hallo Cheatah,
Das (symmetrische) Hinzufügen nicht-nummerischer Zeichen löst das Problem.
Warum so kompliziert? Genau dafür ist doch der Identitätsoperator (===) da.
Schöne Grüße,
Johannes
Hi,
Warum so kompliziert? Genau dafür ist doch der Identitätsoperator (===) da.
ja, aber das wusste der OP bereits :-)
Cheatah