2012-01-31 63 views
0

可能重複:
php validate integerPHP:最好的方法來驗證整數和過濾掉無效字符

目前我使用這種方法:

  1. 驗證輸入使用isset($val) && is_numeric($val)
  2. 將其轉換爲int並將其傳遞給函數:DoSomething((int)$val);

所以我的問題是這樣的:這是最快和最實際的方式來做到這一點?如果我將值轉換爲int,那麼int的範圍足以滿足mysql數據庫中的最大行數?

+0

'filter_var($ value,FILTER_VALIDATE_INT)' – Gordon 2012-01-31 13:23:43

+0

請一次只詢問一個問題。 – hakre 2012-01-31 13:31:55

回答

2

看來這個方法是相當多餘的。

無論是驗證還是施放 - 無需同時執行這兩項操作。

而這顯然不是一個需要「最快」的地方。

1

快速看一下PHP手冊頁猛說:

$foo = 5a; 
settype($foo, "integer"); // $foo is now 5 (integer) 

和: /*檢查一個字符串是否與之前和/或之後可能空白的整數,也隔離整數*/

$isInt=preg_match('/^\s*([0-9]+)\s*$/', $myString, $myInt);