我有这将是像这样的URL:哪个更适合检查值:isset或= NULL?
http://mysite.com/index.php?somename=somevalue
我平时检查somename存在通过做:
if (isset($_GET['somename'])) {
不过,我已经看到了很多人做到这一点最近:
if ($_GET['somename'] != NULL) {
我的问题是,要么比其他方式更好?
我有这将是像这样的URL:哪个更适合检查值:isset或= NULL?
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)
脚注:这不会捕获另一个选项将会“定义但空的”情况。当然,这仍然是更好的方法。 – Jon
@你说得对,'isset()'检查不会捕获这个,但'array_key_exists()'应该!我会补充一点,谢谢。 – sandradev
不,它不会。为什么要这样?请注意,我指的是'?somename ='。 – Jon