isset()
jens65m
- php
0 Gagamehl0
Der Martin
0 Bademeister
Hallo,
gibt es einen Unterschied zwischen
if(isset($var))
und
if($var)
??
LG, Jens
Hallo,
gibt es einen Unterschied zwischen
if(isset($var))und
if($var)??
LG, Jens
Ja. Kuck Dir mal diese Tabelle an
Hallo,
gibt es einen Unterschied zwischen
if(isset($var))
und
if($var)??
ja, neben der teils unterschiedlichen Auswertung, die Gagamehl schon angedeutet hat, einen (IMHO) ganz wichtigen:
if ($var) schmeißt eine Notice-Meldung, wenn $var nicht definiert ist, if (isset($var)) dagegen nicht, weil es genau den Fall prüft, dass das Argument möglicherweise nicht definiert ist (nicht existiert).
Die Abfrage if ($var) ist etwa gleichbedeutend mit der Aufforderung des Chefs: "Schicken Sie bitte den Kollegen ... zu mir", während if (isset($var)) dagegen eher der Frage entspricht: "Ist der Kollege ... im Hause?"
Ciao,
Martin
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