php怎么判断一个数是不是整数

php判断整数

在php中,判断一个数是否为整数可以使用is_int()函数或者is_integer()函数。

使用is_int()函数判断整数

is_int()函数用于判断一个变量是否为整数,如果是整数则返回true,否则返回false。下面通过实例来演示一下:

$num = 123;

if (is_int($num)) {

echo "This is an integer.\n";

} else {

echo "This is not an integer.\n";

}

输出结果为:

```

This is an integer.

```

如果将上例中的$num改为123.45,则输出结果为:

```

This is not an integer.

```

因为浮点数与整数不同,虽然在数值上相等,但是它们的类型不同,只有整数才能被is_int()函数识别。

使用is_integer()函数判断整数

is_integer()函数与is_int()函数功能相同,用于判断一个变量是否为整数,如果是整数则返回true,否则返回false。下面通过实例来演示一下:

$num = 123;

if (is_integer($num)) {

echo "This is an integer.\n";

} else {

echo "This is not an integer.\n";

}

输出结果为:

```

This is an integer.

```

如果将上例中的$num改为123.45,则输出结果为:

```

This is not an integer.

```

两个函数的区别在于,is_int()函数只接受整数类型,而is_integer()函数接受int和integer两种类型,实际上is_int()函数是is_integer()函数的别名。

使用typecasting强制转换变量为整数

除了使用is_int()和is_integer()函数外,还可以使用typecasting将变量强制转换为整数。在php中,typecasting有两种方式:(int)和intval()。

使用(int)强制转换:

$num = 123.45;

$num = (int)$num;

if ($num === 123) {

echo "This is an integer.\n";

} else {

echo "This is not an integer.\n";

}

输出结果为:

```

This is an integer.

```

使用intval()函数强制转换:

$num = 123.45;

$num = intval($num);

if ($num === 123) {

echo "This is an integer.\n";

} else {

echo "This is not an integer.\n";

}

输出结果为:

```

This is an integer.

```

使用typecasting强制转换的时候,需要注意的是,如果转换的变量值为null、false、true、数组等非数字类型,强制转换后的值会变成0。

总结

php判断一个数是否为整数有很多方法,常用的方法有:

1. 使用is_int()函数和is_integer()函数;

2. 使用typecasting强制转换为整数,包括(int)和intval()两种方式。

在使用时,需要注意变量的类型,以及非数字类型转整数后会变成0的问题。

后端开发标签