哪个更适合检查值:isset还是= NULL?

时间:2012-06-27 22:29:58

标签: php html null isset

我有一个类似的网址:

http://mysite.com/index.php?somename=somevalue

我通常会通过以下方式检查somename是否存在:

if (isset($_GET['somename'])) {

但是,我看到很多人最近这样做了:

if ($_GET['somename'] != NULL) {

我的问题是,要么比其他方式更好?

3 个答案:

答案 0 :(得分:6)

null支票不同,

isset($_GET['somename']

不会抛出“未定义的索引”通知,所以它绝对是两者中更优先的。

array_key_exists("somename", $_GET); 

也有效。

如果您想禁止空值,可能需要将其与null检查结合使用。

答案 1 :(得分:0)

这些陈述不同。

isset()将检查变量是否包含值,而第二个语句检查变量是否等于NULL。

在您的情况下,使用isset()来确定$ _GET ['somename']是否存在。

答案 2 :(得分:0)

最好的方法通常是两者兼顾。 isset检查变量是否存在,同时您还应检查它是否为NULL,以便它不会破坏任何后续检查。

if(isset($_GET['somevalue']) && $_GET['somevalue'] != NULL)