Mailinglisten-Archive |
>Tach , ihr listigen Leute! >Mir ist da heute ein seltsames Verhalten untergekommen. Kann mir das mal einer >erklären? Oder ist dieser Bug (wenns denn einer ist) bekannt? >$var=0; >if ($var=="") >{ > echo "Unsinn"; >} >Ist ja auch in Ordnung. Aber jetzt kommt die Krönung ---------------------------------------- ><? >$var=7; //nicht 0 sondern 7 >if ($var=="") >{ > echo "Unsinn"; >} >else >{ > echo "im Lack"; >} >?> >Ratet mal, Ausgabe : im Lack >Wo ist bitte der Unteschied zwischen Fall 1 und Fall 3? Das halte ich schon >für einigermaßen blödsinnig. Hi Sibylle, Ich kenne diese Problematik auch. Das liegt einfach daran, dass php die Variable als String auswertet (In php gibt es keine eindeutige Variablendefinition). Wenn du jetzt x=0 übergibst, wird ein Integer 0 in diese Variable eingetragen. Wenn nun if($x == "") liest er chr(0) und was ist das wohl? Das Ende eines Strings! Also ist dieser Ausdruck wahr. Abhilfe: $x = "0"; oder $x = $x.""; Einfach die Variable in nen Sting umwandeln (Wenn du damit weiterrechnen willst, kannst du das ohne weiteres machen php macht das automatisch).
php::bar PHP Wiki - Listenarchive