2009-12-31 8 views
9

Ich meine ... ich "setze" es auf NULL. Also isset ($ somethingNULL) == wahr?Wird isset() false zurückgeben, wenn ich einer Variablen NULL zuweise?

+19

warum Sie es selbst noch nicht ausprobiert? – Flatlin3

+4

Hätte weniger Zeit zum Testen benötigt, als die Frage zu stellen. Sie haben sogar den Code eingegeben, der benötigt wird, um Ihre Frage in der Frage selbst zu testen. – meagar

+0

Jetzt wissen Sie, dass Sie http://php.net/manual/ für php Referenzdokumentation Fragen suchen müssen :) –

Antwort

23
bool isset (mixed $var [, mixed $var [, $... ]]) 

fest, ob eine Variable existiert und nicht NULL.

Wenn eine Variable mit unset() deaktiviert wurde, wird sie nicht mehr gesetzt. isset() gibt FALSE zurück, wenn eine Variable getestet wird, die auf NULL festgelegt wurde. Beachten Sie auch, dass ein NULL-Byte ("\ 0") nicht der Konstante PHP NULL entspricht.

Rückgabewerte

Gibt TRUE zurück, wenn var existiert und anderen Wert als NULL, ansonsten FALSE.

Von der manual. Examples auf der gleichen Seite.

+7

Also, wie kann ich nach Existenz des Array-Schlüssels überprüfen? Bevor ich diese Frage fand, dachte ich, "isset" gibt "wahr" für "null" Variablen/Schlüssel zurück. –

+2

@ TomášZato Verwenden Sie stattdessen [array_key_exists()] (http://php.net/manual/en/function.array-key-exists.php). – Rob

19

Ja - vom ISSET() documentation:

$foo = NULL; 
var_dump(isset($foo)); // FALSE 

/* Array example */ 
$a = array ('test' => 1, 'hello' => NULL); 

var_dump(isset($a['test']));   // TRUE 
var_dump(isset($a['foo']));    // FALSE 
var_dump(isset($a['hello']));   // FALSE 
+0

Demonstrieren, wie man es selbst testet? Upvote für Sie, mein Herr. – mozillalives

+0

Stattdessen kopieren Sie das Einfügen des Dokuments wie ich: D Aber wir tun es, um zu vermeiden, nur einen Link zu setzen, falls es danach eine 404 gibt (unwahrscheinlich, dass mit php.net passieren, obwohl) –