是否有一个函数在PHP返回true如果字符串/int可以安全地转换为int?像这样:
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/interval,但是:intval('6x')
返回6,intval('x')
返回0,intval(0)
和intval('0')
也返回0
使用filter_var()
:
if (filter_var('1', FILTER_VALIDATE_INT)) {
echo 'int'."<br>";
}
if (!filter_var('dog', FILTER_VALIDATE_INT)) {
echo 'not int'."<br>";
}
演示应该使用is_int()函数。
原因
is_int('4')
将返回false,因为它不是整数。当你在整数周围加上引号时,PHP会认为它是一个字符串——因此返回"false"。
试一下:
is_int(4)