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


php: Best way to validate integers and filter out invalid chars

可能重复:
php验证整数

目前我使用的方法是:

  1. 使用isset($val) && is_numeric($val)验证输入
  2. 将其强制转换为int并将其传递给函数:DoSomething((int)$val);

所以我的问题是:这是最快、最实用的方法吗?如果我将值强制转换为int,那么int的范围是否足以满足mysql数据库中的最大行数?

PHP提供了集成的基本过滤器&验证功能。

这个方法似乎是多余的。

验证或强制转换-不需要同时执行这两种操作。

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

快速浏览php手册页面,推送:

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

以及:/*检查字符串是否是一个在前面和/或后面可能有空格的整数,并隔离整数*/

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