我有一些代碼,本質上包含一個頁面特定的標題,應該只加載,如果只有一個GET參數定義在我的網址。檢查是否只定義了一個GET參數?
例如,如果我想報頭只顯示,如果在URL「thisonly」參數設置,如果網址是:
http://www.example.com?thisonly=w&thisone=q&thistwo=q&thisthree=q
以前我一直用這個代碼來檢查:
if((isset($_GET[thisonly])) && (!isset($_GET[thisone])) && (!isset($_GET[thistwo])) && (!isset($_GET[thisthree]))) {
// Run this code
}
在上述情況下,代碼將不會運行,因爲這些其他參數已設置。
但是,這將是一個更新的麻煩,特別是如果我最終添加更多的參數,並且將不得不返回並添加到此代碼,以確保它們也沒有設置。
是否有某種方式來縮短下來到
if((isset($_GET[thisonly])) && (!isset($_GET[nothingelse]))) {
// Run this code
}
例如相當於,如果「thisonly」是唯一的參數集合,並沒有其他的參數設置,然後運行該代碼?
任何幫助表示讚賞 - 謝謝!
''[thisonly]'被視爲[**常量**](http://php.net/manual/en/language.constants.php)。把它們用引號括起來[['thisonly']'等等 – 2014-09-23 20:41:33
就這樣,我明白了,我怎麼能得到不想要的結果呢?我沒看過你的鏈接,但我不知道爲什麼要把它放在引號vs不是..引號圍繞它意味着http://www.example.com?TeSt=true將註冊爲http:// www .example.com?test = true – vsdesign 2014-09-23 20:55:22
在下面John的答案中試用不帶引號。如果能解決,那很好。如果它拋出一個錯誤,那麼你就會知道爲什麼。 – 2014-09-23 20:58:09