Hi Jens.
Neben den bereits beschriebenen Unterschieden in den praktischen Auswirkungen gibt es einen ganz erheblichen konzeptionellen Unterschied:
if($var)
Hier wird der Ausdruck $var
ausgewertet. Wenn etwa $var = 5;
gesetzt ist, dann ist if($var)
identisch mit if(5)
.
if(isset($var))
Hier hingegen wird nicht der Ausdruck $var
, sondern der Variablenname (das Literal "$var") von dem Konstrukt isset ausgewertet: isset(5)
wäre hier natürlich ganz und gar nicht identisch zu isset($var)
, sondern würde einen Fehler erzeugen. Dieser Umstand unterscheidet das Sprachkonstrukt "isset" auch erheblich von echten Funktionen.
Viele Grüße,
der Bademeister