2009-12-31 73 views
9

我的意思是......我將它設置爲NULL。那麼isset($ somethingNULL)== true?如果我將NULL賦值給變量,Will isset()會返回false嗎?

+19

你爲什麼不自己嘗試過嗎? – Flatlin3 2009-12-31 15:49:54

+4

比提問更省時。你甚至可以輸入將問題測試到問題本身的代碼。 – meagar 2009-12-31 16:01:26

+0

現在你知道你必須搜索http://php.net/manual/ for php參考文檔相關的問題:) – 2009-12-31 16:01:57

回答

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

確定一個變量被設置,而不是NULL。

如果一個變量未被設置爲unset(),它將不再被設置。如果測試已被設置爲NULL的變量,則isset()將返回FALSE。另請注意,NULL字節(「\ 0」)不等價於PHP NULL常量。如果VAR存在,並且具有比其他NULL值,否則返回FALSE

返回值

返回TRUE。

manualExamples在同一頁上。

+7

那麼如何檢查數組鍵的存在?在發現這個問題之前,我認爲'isset'對'null'變量/鍵返回'true'。 – 2014-10-09 11:45:49

+2

@TomášZato改爲使用[array_key_exists()](http://php.net/manual/en/function.array-key-exists.php)。 – Rob 2017-08-01 14:48:49

19

是 - 從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

演示如何自己測試它? Upvote給你,先生。 – mozillalives 2009-12-31 15:57:27

+0

而不是像我一樣複製粘貼文檔:D但是我們這樣做是爲了避免僅僅爲了後面的404而放置鏈接(儘管不太可能發生在php.net上) – 2009-12-31 16:00:19