重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
根据数据库字段设定的类型来判断的, 如果类型不统一将读取不到数据或者报错的。
大荔ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
在日常的php开发中,我们可能会碰到,需要判断Get或者Post的数值是否为整型或者是浮点型、是否含有小数
由于php是弱类型语言,很多初次做php开发的程序员对php的数据类型并不是很关注或者熟悉,但是在一些的常见业务实现中往往需要对数据类型进行判断!
分享一个前段时间在业务实现过程中遇到的问题!
比如这样的一个连接:
以往正常的逻辑中会直接拿来get['add'] 进行
is_number()【判断是否为数值】
is_float()【是否为小数】
来进行判断。结果发现这样的处理方式是错位的 ! 因为 无论是Post的数据或者是Get的数据,在php中得到的 值得数据类型都是字符串!
所以,上面两个函数是不能正常使用的, 只能用字符串函数来处理! 最简单的方式就是使用strstr(get['add'],'.'); 【判断是否含有小数点,如果含有小数点,就返回真,没有就返回假】!
可以取整然后判断取整误差是否等于0.代码如下:
?php
$a=7.02;
$b=(int)$a;
echo($b);
if($a-$b==0)
echo("yes");
else
echo("no");
?
is_array — 检测变量是否是数组
is_bool — 检测变量是否是布尔型
is_callable — 检测参数是否为合法的可调用结构
is_double — is_float 的别名
is_float — 检测变量是否是浮点型
is_int — 检测变量是否是整数
is_integer — is_int 的别名
is_iterable — Verify that the contents of a variable is an iterable value
is_long — is_int 的别名
is_null — 检测变量是否为 NULL
is_numeric — 检测变量是否为数字或数字字符串
is_object — 检测变量是否是一个对象
is_real — is_float 的别名
is_resource — 检测变量是否为资源类型
is_scalar — 检测变量是否是一个标量
is_string — 检测变量是否是字符串
php中有内置的函数,如is_float等,ctype_alpha等,filter_input等。都可以进行输入验证。不过最好自己构建自己需要的函数进行验证,以确保更高的安全性和可维护性。