2012-06-27 66 views

回答

6

不像null檢查,

isset($_GET['somename'] 

不會引發「未定義指數」的通知,所以它肯定是越優選兩個。

array_key_exists("somename", $_GET); 

也是有效的。

但是,如果您不想使用空值,您可能需要將其與null檢查相結合。

+1

腳註:這不會捕獲另一個選項將會「定義但空的」情況。當然,這仍然是更好的方法。 – Jon

+0

@你說得對,'isset()'檢查不會捕獲這個,但'array_key_exists()'應該!我會補充一點,謝謝。 – sandradev

+0

不,它不會。爲什麼要這樣?請注意,我指的是'?somename ='。 – Jon

0

這些陳述是不同的。

isset()將檢查變量是否包含值,而第二個語句檢查變量是否等於NULL。

在你的情況,使用isset()來確定是否存在$ _GET ['somename']。

0

最好的方法是通常做到兩者兼而有之。 isset檢查變量是否存在,同時你也應該檢查它是否不是NULL,以便它不會破壞任何後來的檢查。

if(isset($_GET['somevalue']) && $_GET['somevalue'] != NULL) 
相關問題