在php开发中我们经常需要用表单传递数据,如果我们传递的是整数(int),经过表单传递后,在接收页面整数的数值类型将会变成字符串(string)类型,这样我们就不能用is_int()函数来判断是否为整数,但是我们可以用is_numeric()和strpos()函数来判断是否为整数:

PHP判断一个变量是否为整数

1、首先用is_numeric()函数判断是否为数字或数字字符串例如:is_numeric($age);

2、用strpos()判断提交的数字中是否含有小数点,例如strpos($age,'.');

下面是示例代码

<?php
//飞鸟慕鱼博客
$a = $_POST['age'];//这一步骤可以省去,直接在下成调用$_POST['age']也可以
if (is_numeric($a)&&!strpos($a, '.')) {
    echo "是整数";
}else{
    echo "不是整数";
}
?>

代码图示

PHP判断变量是否为整数,PHP判断变量是否为数字,php判断是否为数字,is_numeric函数用法

3、虽然上面的代码看起来很实用,但我们还得考虑一种情况:用户是否已经输入了内容,是否数据被传递了过来,那我们就应修改一下代码

修改后的代码

<?php
//飞鸟慕鱼博客
if (isset($_POST['age'])&&is_numeric($_POST['age'])&&!strpos($_POST['age'], '.')) {
    echo "是整数";
}else{
    echo "不是整数或未获取数据";
}
?>

代码图示

PHP判断变量是否为整数,PHP判断变量是否为数字,php判断是否为数字,is_numeric函数用法

4、我用给if的判断加入一个isset()函数,用于检测form表单提交过来的信息中的age变量是否空,这样可以分处做出相应的处理。

这篇只是说了一下,FOMR表单提交过来的数值判断是否为整数,并不能说明所有的数值都是这样判断,以后再说说其它的吧!