jens65m: isset()

Hallo,

gibt es einen Unterschied zwischen

if(isset($var))

und

if($var)

??

LG, Jens

  1. Hallo,

    gibt es einen Unterschied zwischen

    if(isset($var))

    und

    if($var)

    ??

    LG, Jens

    Ja. Kuck Dir mal diese Tabelle an

  2. 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

    --
    Die letzten Worte des Hardware-Bastlers:
    Das Netzkabel lass ich wegen der Erdung lieber dran.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. 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