验证$ _REQUEST内容是否为int

Ale*_*x G 4 php ajax

我正在尝试进行基本操作:检查字符串是否为数字.

这不起作用:

$qty = $_REQUEST[qty];
if (is_int($qty) == FALSE) {
  echo "error";
} else {
  echo "ok";
}
Run Code Online (Sandbox Code Playgroud)

这个做了:

$qty = 1;
if (is_int($qty) == FALSE) {
  echo "error";
} else {
  echo "ok";
}
Run Code Online (Sandbox Code Playgroud)

$_REQUEST[qty]发布时,AJAX请求($.post). $_REQUEST[qty]不为空且仅包含数字(1).

is_numeric()不会起作用,因为它被视为1e4一个数字.

Rod*_*dik 6

如果变量是整数类型,则is_int仅返回true.如果您尝试测试变量是否包含表示数字的字符串,请使用:

is_numeric("1");
Run Code Online (Sandbox Code Playgroud)

来源:http://php.net/manual/en/function.is-int.php

编辑:

使用ctype_digit()检查字符串中的每个字符,如果它是一个排除"1e4"的数字