专注于股市分析、程序开发及网络推广的自媒体网站
在PHP中判断一个变量是否为整数,如在实际开发中,特别是对金额的判断是否为整数,有很多时候会用到。
最近在开发支付接口中,写PHP代码的时候遇到这样一个小问题:如何判断一个变量是否为整数,于是在网上找到了两个方法来解决,在此做一个小小的记录,分享遇到的坑,希望可以帮助到各位。
方法1
<?php $num=10; //返回right //$num=10.1 返回false if(is_int($num)){ echo "right"; }else{ echo "false"; } ?>
这里用is_int()方法来判断传入的参数是否为整数形(int),而不是判断它是否为整数,略显局限。为什么这样说呢,实战当中,当前端提交金额到后端时,用户假如输入的是1000,那么后端通过is_int()方法来判断是无法判断准确的,因为后端收到的数据是1000.00,当用is_int()来判断时,则直接判断为不是整数,所以产生了一些问题。当然用s_int()来判断1000.01这些肯定是没有错的。所以,要避免这些问题,还是要用方法2的floor()方法来实现,代码如下:
方法2
<?php $num=12; if(floor($num)==$num){ echo "right"; }else{ echo "false"; } ?>
floor()方法是将传入的参数进行四舍五入。将四舍或者五入后的值与原来的值比较,若相等则为整数,不等则不为整数。至此,当前端输入1000,后台收到的为1000.00时,仍可以判断为整数。
来源:文风博客(微信/QQ号:1833518490),转载请保留出处和链接!
本文链接:https://www.awf1.com/post/11.html