0
我使用PHP和filter_input
功能來過濾GET
變量並對其進行驗證:過濾器輸入進行驗證,並要求在PHP
$id = filter_input(INPUT_GET, "id", FILTER_VALIDATE_INT);
但是當id參數是不存在的網址,上面的語句會使$id
NULL。
我想$id
是false
時:
- 它不是一個有效的整數或
$_GET["id"]
不存在。
這樣,當我想檢查一下$id
是否有效時,我只將它與false
進行比較。 有沒有一種方法來驗證輸入變量,並檢查其存在與一個單一的陳述?我認爲最好在上述條件下製作$id
NULL
,所以布爾輸入沒有問題。
目前我使用上面的語句和下面的if
塊:
if ($id !== false && $id !== NULL) {
// statements to run when $id is valid and present
}
零也是一個無效的ID? – Scopey
@Scopey是的,它可能是。我想爲這個問題提供一個通用的解決方案請考慮其他基本數據類型(string,bool,float)。 – Mowji
'isset'對'null'值返回false。但這並不包括'$ id === false'的情況。你可以試試'is_int($ id)',因爲它應該覆蓋所有有效的情況,包括零。 – Scopey