如果字符串/ 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 :(得分:7)
使用filter_var()
:
if (filter_var('1', FILTER_VALIDATE_INT)) {
echo 'int'."<br>";
}
if (!filter_var('dog', FILTER_VALIDATE_INT)) {
echo 'not int'."<br>";
}
答案 1 :(得分:-2)
你应该使用函数is_int()。
原因
is_int('4')
将返回false是因为它不是整数。当您在整数周围添加引号时,PHP将假设它是一个字符串 - 因此&#34; false&#34;返回。
试试这个:
is_int(4)