我有這將是像這樣的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