写入数据库某个字段json格式数据,取出来后用if判断其值来做处理,发现其中的问题。
if判断一个变量是否是false来做处理是常用手法。例如:
$a='0';
if($a){echo 'true';}else{echo 'false';}
//输出结果为false;
测试了字符串类型的数据:空格:’ ‘,零:’0’,false:’false’,null:’null’,小数0:’0.00’
//字符串类型的数据:空格:' ',零:'0',false:'false',null:'null',小数0:'0.00'
除了字符串0,其他都会返回true。这样的情况下,我存入数据库中的json的值是字符串类型的小数,当这个小数是’0.00’的时候,我的if判断就错误了,会判断为true,所以在判断之前需要转换成数字格式floatval($a)才能判断正确。
我又测试了这个变量:
$a='0.00';
if($a<=0){echo 'true';}else{echo 'false';}
//输出结果为true;
用比较大小的方式来判断的话是可以的