Mailinglisten-Archive |
Am Sonntag 25 November 2001 23:42 schrieben Sie: > ----- Original Message ----- > From: Alexander Wagner <wagner_(at)_globalpark.de> > To: php_(at)_phpcenter.de <php_(at)_phpcenter.de> > Sent: Sonntag, 25. November 2001 23:35 > Subject: [php] if oder was.... > > > Am Sonntag 25 November 2001 23:30 schrieben Sie: > >> Moin! > >> > >> Ich versteh es nicht: > >> > >> Wenn ich $dCount auf 07 setze, dann wird "Bezeichnung 7" ausgegeben. > >> Nur wenn ich $dCount auf 08 setze wird nichts ausgegeben. Ich versteh > >> die Welt nicht... > >> Weiss jemand woran das liegt? > > > > Zahlen mit führender 0 werden als Oktalzahlen interpretiert, und 08 ist > > keine gültige Oktalzahl. Setz einfach überall "" um die Zahlen, dann > > werden diese als Zeichenketten statt als Zahlen interpretiert und alles > > ist gut. > > > > Gesundheit > > Wagner > > aber ich hab $dCount doch schon bei der Deklaration in "" gesetzt, damit > diese als Strings(?) definiert werden. Warum nimmt php dann in der if > Abfrage nochmal ne Typprüfung vor? Wieso Prüfung? Also, da wird geprüft ob "08" == 08 //links der Inhalt der Variable Das ist gleich "08" == 0 oder "08" == false oder so, da 08 keine gültige Oktalzahl ist. Du vergleichst zwei Dinge mit verschiedenen Typen, damit die verglichen werden können, muss PHP intern die Typen so umwandeln, dass sie den gleichen Typ haben. Hier wird die Zahl zu einer Zeichenkette umgewandelt, nehme ich an, und "08" ist nicht gleich "" oder "0" oder nach was die 08 umgewandelt wird. Gesundheit Wagner -- "He's dead Jim" "No I'm not! I'm feeling much bet-" ZZZAP!
php::bar PHP Wiki - Listenarchive