dclp FAQ

FAQ der Newsgroups de.comp.lang.php.*

 
  • Increase font size
  • Default font size
  • Decrease font size

Typen und Funktionen

Was ist der Unterschied zwischen isset() und einem Vergleich auf den Leerstring?

E-MailDruckenPDFLesezeichen anlegen: Du musst dich einloggen um ein Lesezeichen für diesen Beitrag anzulegen. Es wird deiner persönlichen Lesezeichenliste hinzugefügt.

if($var) evaluiert nur dann zu true, wenn $var keinen der folgenden Werte darstellt: false, 0, 0.0, "" oder "0", NULL, array() oder new stdClass. Alle diese Werte bedeuten false in ihrem jeweiligen Typ (Bool, Integer, Float, String, Null, Array, Object).

if(isset($weiter)) evaluiert immer zu true, wenn $weiter nicht undefined ist.

Im ersten Fall wird der Inhalt, im zweiten Fall die Existenz der Variablen bewertet.

Ein ähnliches Problem tritt bei Vergleichen auf: if($var == false) evaluiert immer dann zu true, wenn $var einen der obigen Werte darstellt. PHP führt hier eine automatische Typenkonvertierung durch, wodurch die beiden Variablen als äquivalent angesehen werden.

Diese Typkonvertierung kann mit den Vergleichsoperatoren === (drei Gleichheitszeichen) und !== vermieden werden. Der Vergleich === ist nur dann wahr, wenn die beiden Operanden den gleichen Typ und den gleichen Wert haben.

Was ist der Unterschied zwischen isset() und einem Vergleich auf den Leerstring?
http://www.php-faq.de/q-variable-testen.html
 

Login