用于检查整数在PHP中是否有效的函数

时间:2014-05-16 17:30:31

标签: php validation integer

如果字符串/ int可以安全地转换为int,那么PHP中是否有一个返回true的函数? 像这样:

var_dump(f('1'));//returns true
var_dump(f(1));//returns true
var_dump(f('1.2'));//returns false
var_dump(f(-2));//returns true
var_dump(f('3x'));//returns false

我不关心基地 我检查了is_int,但是is_int(' 4')返回false 我可以使用cast / intval,但是:
intval('6x')返回6,intval('x')intval(0)以及intval('0')

一样返回0

2 个答案:

答案 0 :(得分:7)

使用filter_var()

if (filter_var('1', FILTER_VALIDATE_INT)) {
     echo 'int'."<br>";
}
if (!filter_var('dog', FILTER_VALIDATE_INT)) {
     echo 'not int'."<br>";
}

Demo

答案 1 :(得分:-2)

你应该使用函数is_int()。

原因

is_int('4')

将返回false是因为它不是整数。当您在整数周围添加引号时,PHP将假设它是一个字符串 - 因此&#34; false&#34;返回。

试试这个:

is_int(4)