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

JRO*_*ROB 3 html php null isset

我有一个像这样的URL:

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

我通常通过以下方式检查某个名称是否存在:

if (isset($_GET['somename'])) {
Run Code Online (Sandbox Code Playgroud)

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

if ($_GET['somename'] != NULL) {
Run Code Online (Sandbox Code Playgroud)

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

san*_*dev 6

null支票不同,

isset($_GET['somename']
Run Code Online (Sandbox Code Playgroud)

不会抛出"未定义的索引"通知,因此它绝对是两者中更优选的.

array_key_exists("somename", $_GET); 
Run Code Online (Sandbox Code Playgroud)

也是有效的.

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