必威体育Betway必威体育官网
当前位置:首页 > IT技术

PHP 区别判断 0 和 0.00

时间:2019-09-08 13:43:13来源:IT技术作者:seo实验室小编阅读:66次「手机版」
 

0.00

我们先来看一个需求,判断一个传值过来的价格参数,如果这个价格参数不为零的话,就会有一些操作,一般我们都是这样写:

if (!empty($price)) {
    // do something
}

但是这样写如果会有一个BUG,我们来先一个示例:

$a = 0.00;
$b = '0.00';
echo (empty($a) ? "empty a" : "not empty a "); //result empty a
echo "</br>";
echo (empty($b) ? "empty b" : "not empty b"); //result not empty b

由于 PHP 是弱类型,类型检查不严格,也就是说如果上面那个 $price 如果传的是字符串’0.00’,结果就会执行 if 里面的代码,这就导致你程序的一个 BUG。

那么怎么解决这个 BUG 呢?其实也很简单,我们把字符串统一强制转换成浮点型就可以了:

$c = (float)$b;
echo (empty($c) ? "empty c" : "not empty c"); //result empty c

$price = '0.00';
if (!empty((float)$price)) {
    // do something
}

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读