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的问题。