发布网友
共4个回答
懂视网
在网上看到过这样三种做法,下面来跟大家讨论下,如有问题,欢迎指出,大家共同学习
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进制数)。有兴趣的朋友可以自己去测测,研究研究
感谢大家的阅读,希望大家收益多多。
本文转自:https://blog.csdn.net/u013757199/article/details/51577379
推荐教程:《php教程》
热心网友
//定义判断一个变量是否是整数的函数
function isnum($varnum){
//整数包括0-9的数字
$string_var = "01234567";
$len_string = strlen($varnum);
if(substr($varnum,0,1)=="0"){
return false;
die();
}else{
for($i=0;$i<$len_string;$i++){
$checkint = strpos($string_var,substr($varnum,$i,1));
if($checkint===false){
return false;
die();
}
}
return true;
}
}
//测试
$p=22.336;
var_mp(isnum($p));//bool(false)不为整数,所以返回false
exit;
热心网友
if(preg_match("/^[\d]+$/")){
整数
}else{
不是整数
}
这种做法安全
热心网友
使用函数 is_int()