php 验证整数

php
2022-08-30 20:18:25

我想知道为什么这不起作用

    echo gettype($_GET['id']); //returns string
  if(is_int($_GET['id']))
  {
   echo 'Integer';
  }

如果数据是整数,如何验证从GET / POST传递的数据?


答案 1

可以使用

$validatedValue = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);

请参阅 http://php.net/filter_input 和相关函数。


答案 2

手册说:

若要测试变量是数字还是数字字符串(如表单输入,它始终是字符串),必须使用 is_numeric()。

或者,您可以使用基于正则表达式的测试作为:

if(preg_match('/^\d+$/',$_GET['id'])) {
  // valid input.
} else {
  // invalid input.
}

推荐