我有一个这样的 URL:
http://mysite.com/index.php?somename=somevalue
我通常通过以下方式检查 somename 是否存在:
if (isset($_GET['somename'])) {
但是,我最近看到很多人这样做:
if ($_GET['somename'] != NULL) {
我的问题是,任何一种方式都比另一种更好吗?
我有一个这样的 URL:
http://mysite.com/index.php?somename=somevalue
我通常通过以下方式检查 somename 是否存在:
if (isset($_GET['somename'])) {
但是,我最近看到很多人这样做:
if ($_GET['somename'] != NULL) {
我的问题是,任何一种方式都比另一种更好吗?
不同于null
支票,
isset($_GET['somename']
不会抛出“未定义索引”通知,因此绝对是两者中更可取的。
array_key_exists("somename", $_GET);
也将是有效的。
null
但是,如果您想禁止空值,您可能希望将此与检查结合使用。
最好的方法通常是两者都做。isset 检查变量是否存在,同时您还应该检查它是否不为 NULL,这样它就不会破坏以后的任何检查。
if(isset($_GET['somevalue']) && $_GET['somevalue'] != NULL)