今天遇到一个php判断变量是为整数的需求,这个需求看似简单,但在一些个别的场景下却很复杂,下面就详细的说一说。

php判断变量是否为整数的方法

1、使用 is_int() 函数判断变量是否为整数

php中的 is_int() 函数可以判断一个变量是否为整数,看下面的示例。

var_dump(is_int(10));// bool(true)
var_dump(is_int(0.10));// bool(false)
var_dump(is_int('10'));// bool(false)
var_dump(is_int('0.11'));// bool(false)
var_dump(is_int(''));// bool(false)
var_dump(is_int(null));//  bool(false)
var_dump(is_int(-10));// bool(true)

注:

通过上面的代码可以看出,is_int 判断字符串类型的整数变量时,会当做字符串处理,返回false。但如果是GET或POST提交的数据(POST或GET提交的数据为字符串类型),需要用 is_int 函数判断是否为整数,则会出现错误,所以可以参考下面的方法。

2、判断字符串变量是否为整数的方法

使用 is_numeric() 与 strpos() 函数判断变量是否为整数!

$str = '10';
if((is_numeric($str)) && (strpos($str,".") == false)){
    echo "是整数<br/>";
}else{
    echo "不是整数<br/>";
}
// 是整数
$str1 = '10.1';
if((is_numeric($str1)) && (strpos($str1,".") == false)){
    echo "是整数<br/>";
}else{
    echo "不是整数<br/>";
}
//不是整数