Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
Verhalten beim Überprüfen ob Variable == 0
Autor: t_rainer
Datum: 01.07.2010 03:37:13
Hallo zusammen,
ich habe ein Frage, vielleicht kann mir ja jemand helfen...
Untenstehende Funktion test() soll überprüfen, ob der übergebende Wert == 0 ist. Füttere ich die Funktion mit "Fr, 01.07.10" wird true zurückgegeben. Füttere ich sie mit "01.07.2010" wird false zurückgegeben. Warum ist das so?
Gemäß var_dump(), ist $input immer ein string.
function test($input){
  var_dump($input);
  if ($input == 0) return true;
  else return false;
}
Vielen Dank für jede Hilfe
Gruß Rainer
Re: Verhalten beim Überprüfen ob Variable == 0
Autor: xabbuh
Datum: 01.07.2010 13:55:17
Hallo,
> Gemäß var_dump(), ist $input immer ein string.
du vergleichst $input aber mit einer Zahl. Ändere den Vergleich so, dass die Null als Text interpretiert wird:
if($input == "0")
Gruß
Re: Verhalten beim Überprüfen ob Variable == 0
Autor: t_rainer
Datum: 01.07.2010 14:02:21
Hi!
Danke für deine Antwort!
> du vergleichst $input aber mit einer Zahl. Ändere
> den Vergleich so, dass die Null als Text
> interpretiert wird:
>
> if($input == "0")
Ok - aber ehrlich gesagt verstehe ich trotzdem nicht, warum der Vergleich eines Strings mit einer Zahl WAHR werden kann. Und auch nicht warum das bei einem String anders sein sollte als bei einem anderen. Gibt es dafür eine generelle Richtlinie, wie php das handhabt?
Gruß Rainer
Re: Verhalten beim Überprüfen ob Variable == 0
Autor: xabbuh
Datum: 01.07.2010 14:04:25
Hallo,
> Ok - aber ehrlich gesagt verstehe ich trotzdem
> nicht, warum der Vergleich eines Strings mit
> einer Zahl WAHR werden kann. Und auch nicht warum
> das bei einem String anders sein sollte als bei
> einem anderen. Gibt es dafür eine generelle
> Richtlinie, wie php das handhabt?
ja, PHP castet in diesem Fall den String zu einer Zahl (s.a. http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion).
Gruß
Re: Verhalten beim Überprüfen ob Variable == 0
Autor: t_rainer
Datum: 01.07.2010 14:13:41
> ja, PHP castet in diesem Fall den String zu einer Zahl
Ok, danke für deine Hilfe. Ich werde mir das Kapitel "Type Juggling" noch mal in Ruhe durchlesen, vielleicht verstehe ich es dann!
Gruß Rainer