PHP中如何精确判断一个变量是否为整数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计542个文字,预计阅读时间需要3分钟。
在网络上看到过三种检查整数的方法,以下是大家的讨论:
1. 使用is_int()函数:phpif(is_int(2.0)){ echo 整数;} else { echo 非整数;}输出:非整数
2. 使用类型强制转换:phpif(intval(2.0)==2.0){ echo 整数;} else { echo 非整数;}输出:非整数
3. 使用is_int()函数结合类型判断:phpfunction checkInt($value){ return is_int($value) || intval($value)==$value;}
if(checkInt(2.0)){ echo 整数;} else { echo 非整数;}输出:非整数
以上三种方法在一般情况下都可以判断整数,但具体使用时还需根据实际情况选择合适的方法。
在网上看到过这样三种做法,下面来跟大家讨论下,如有问题,欢迎指出,大家共同学习
1,is_int来进行判断
if(is_int(2.0)){ echo "整数"; }else{ echo "非整数"; }
输出非整数
一般情况下,是可以判断出来的,但是如果给出的数字是2.0类似这样的,这样的判断方式就会出现问题,所以这种做法不对
2,floor ,ceil
$a = 2.0; if(floor($a)==$a){ echo "整数"; }else{ echo "非整数"; }
输出整数
用这样的取整函数,这样这种做法是可以的
3,正则判断
代码片段
$reg = '/^[0-9][0-9]*$/' $goods_number = '0'; if( preg_match($reg,$goods_number)){ echo '是整数'; }else{ echo '不是整数'; }
输出整数
以上是我自己总结的几种方法,第二种第三种经过自己的测试是可以的,如过发现有问题,可以提醒下我^_^
接着通过手册又发现几个这样的php判断函数,如ctype_digit,is_numeric(这个可以判断16进制数)。有兴趣的朋友可以自己去测测,研究研究
感谢大家的阅读,希望大家收益多多。
本文转自:blog.csdn.net/u013757199/article/details/51577379
本文共计542个文字,预计阅读时间需要3分钟。
在网络上看到过三种检查整数的方法,以下是大家的讨论:
1. 使用is_int()函数:phpif(is_int(2.0)){ echo 整数;} else { echo 非整数;}输出:非整数
2. 使用类型强制转换:phpif(intval(2.0)==2.0){ echo 整数;} else { echo 非整数;}输出:非整数
3. 使用is_int()函数结合类型判断:phpfunction checkInt($value){ return is_int($value) || intval($value)==$value;}
if(checkInt(2.0)){ echo 整数;} else { echo 非整数;}输出:非整数
以上三种方法在一般情况下都可以判断整数,但具体使用时还需根据实际情况选择合适的方法。
在网上看到过这样三种做法,下面来跟大家讨论下,如有问题,欢迎指出,大家共同学习
1,is_int来进行判断
if(is_int(2.0)){ echo "整数"; }else{ echo "非整数"; }
输出非整数
一般情况下,是可以判断出来的,但是如果给出的数字是2.0类似这样的,这样的判断方式就会出现问题,所以这种做法不对
2,floor ,ceil
$a = 2.0; if(floor($a)==$a){ echo "整数"; }else{ echo "非整数"; }
输出整数
用这样的取整函数,这样这种做法是可以的
3,正则判断
代码片段
$reg = '/^[0-9][0-9]*$/' $goods_number = '0'; if( preg_match($reg,$goods_number)){ echo '是整数'; }else{ echo '不是整数'; }
输出整数
以上是我自己总结的几种方法,第二种第三种经过自己的测试是可以的,如过发现有问题,可以提醒下我^_^
接着通过手册又发现几个这样的php判断函数,如ctype_digit,is_numeric(这个可以判断16进制数)。有兴趣的朋友可以自己去测测,研究研究
感谢大家的阅读,希望大家收益多多。
本文转自:blog.csdn.net/u013757199/article/details/51577379

