erzeugt:
is empty string
statt
Vorweg, null,"",0, unter Umständen auch "0" wird von PHP teilweise als false interpretiert.
Bei deinem Beispiel ist es so, dass 2 verschiedene Datentypen vorliegen und PHP einen der beiden Werte umwandeln muss um vergleichen zu können.
Wenn du $var = null setzt und mit "" vergleichst, ist das der Fall. Um das zu umgehen müsstest du typsicher vergleichen, also den "==="-Operator verwenden.
Kleines Beispiel:
<?php
var_dump("",null,""==null,""===null,0,false,0==false,""==0,""===0);
if("0")
print "\n\"0\" wird als true interpretiert.";
else
print "\n\"0\" wird als false interpretiert.";
?>
gibt folgendes aus:
string(0) ""
NULL
bool(true)
bool(false)
int(0)
bool(false)
bool(true)
bool(true)
bool(false)
"0" wird als false interpretiert.
MfG
bubble