php:验证整数和过滤掉无效字符的最佳方法

时间:2012-01-31 13:00:51

标签: php security validation

  

可能重复:
  php validate integer

目前我正在使用这种方法:

  1. 使用isset($val) && is_numeric($val)
  2. 验证输入
  3. 将其投放到int并将其传递给函数:DoSomething((int)$val);
  4. 所以我的问题是:这是最快,最实用的方法吗?如果我将值转换为int,那么int范围是否足以支持mysql数据库中的最大行数?

3 个答案:

答案 0 :(得分:3)

PHP提供了集成的basic filter & validation functions

答案 1 :(得分:2)

似乎这种方法很冗余。

验证或投射 - 无需两者兼顾。

这显然不是一个需要“最快”的地方。

答案 2 :(得分:1)

快速浏览一下php手册页:

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

和: / *检查字符串是否是在前和/或之后可能有空格的整数,并且还隔离整数* /

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