我希望能夠區分設置爲空的現有查詢字符串參數和缺少參數。所以,問題的部分是:在PHP中檢查空和查詢字符串參數缺失
- 我如何檢查如果一個參數查詢字符串
- 什麼是對的查詢字符串傳遞一個空值所建立的方法存在? (如PARAM = null或PARAM =(無))
感謝
我希望能夠區分設置爲空的現有查詢字符串參數和缺少參數。所以,問題的部分是:在PHP中檢查空和查詢字符串參數缺失
感謝
或者使用array_key_exists
:
if(array_key_exists("myParam", $_GET)) {
}
我從來沒有去過熱衷於將空值傳遞給服務器的'約定' - 我習慣於測試變量的存在和然後修剪它們並測試空白,例如。
存儲在$_GET
和$_POST
中的值只能是字符串或數組,除非在運行時顯式設置。如果您有一個查詢字符串query=string
,則值爲"string"
,如果您改用:query=null
,該值將爲"null"
。請注意,它是一個字符串。
如果您發送:query=
,值將是""
或空字符串。注意isset
和empty
之間的differences。如果值不爲空,則isset
將爲真,而當值爲false
時,empty
將爲真。因此,""
將爲均爲isset
和empty
。
如果你只是想檢查查詢字符串參數被設置爲"null"
字符串值,你可以簡單地檢查$_GET['query']=='null'
(你可能要檢查前調整字符的大小寫)
有了一個如果聲明而不是兩個:
if ((isset($_REQUEST['name'])) && (!empty($_REQUEST['name'])))
{
$name= $_REQUEST['name'];
}
+1!正確答案,但使用`empty()`時不需要`isset()`,因爲`empty()`意味着`isset()`。這在使用`!empty()`時尤其重要。你應該爲問題的第二部分添加明確的答案。 – jwueller 2010-12-07 23:20:24