首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

PHP 怎么判断post或get的值是否为小数或者整数

发布网友 发布时间:2022-04-23 14:36

我来回答

2个回答

懂视网 时间:2022-04-06 11:14

在网上看到过这样三种做法,下面来跟大家讨论下,如有问题,欢迎指出,大家共同学习

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教程》

热心网友 时间:2022-04-06 08:22

在日常的php开发中,我们可能会碰到,需要判断Get或者Post的数值是否为整型或者是浮点型、是否含有小数

由于php是弱类型语言,很多初次做php开发的程序员对php的数据类型并不是很关注或者熟悉,但是在一些的常见业务实现中往往需要对数据类型进行判断!

分享一个前段时间在业务实现过程中遇到的问题!

比如这样的一个连接:www.davup.com/index.php?add=1000.1
以往正常的逻辑中会直接拿来get['add'] 进行
is_number()【判断是否为数值】
is_float()【是否为小数】
来进行判断。结果发现这样的处理方式是错位的 ! 因为 无论是Post的数据或者是Get的数据,在php中得到的 值得数据类型都是字符串!
所以,上面两个函数是不能正常使用的, 只能用字符串函数来处理! 最简单的方式就是使用strstr(get['add'],'.'); 【判断是否含有小数点,如果含有小数点,就返回真,没有就返回假】!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com