首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么这个if语句总是运行?

为什么这个if语句总是运行?
EN

Stack Overflow用户
提问于 2015-12-10 17:44:35
回答 4查看 69关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
复制
  if ($unitWeight != 0) 
  {
    $saleableUnits = ($sumQty/$unitWeight);
    $unitCost      = ($sumCost/$saleableUnits);
  }

我期望此语句仅在$unitWeight大于0时运行。无论发生什么,它似乎都会运行,并且我得到了这个错误。

“警告:在中除以零”

EN

回答 4

Stack Overflow用户

发布于 2015-12-10 17:49:19

尝试对变量进行类型转换

代码语言:javascript
代码运行次数:0
运行
复制
$unitWeight = (int) "0";

var_dump(($unitWeight));

或者使用abs()intval()

代码语言:javascript
代码运行次数:0
运行
复制
$unitWeight = "0";

var_dump(abs($unitWeight));
票数 2
EN

Stack Overflow用户

发布于 2015-12-10 17:47:55

使用大于(>)

代码语言:javascript
代码运行次数:0
运行
复制
if ($unitWeight > 0) 
  {
    $saleableUnits = ($sumQty/$unitWeight);
    $unitCost      = ($sumCost/$saleableUnits);
  }
票数 1
EN

Stack Overflow用户

发布于 2015-12-10 17:51:49

如果您希望该语句仅在$unitWeight > 0时运行,则应该使用该语句。

如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
  if (intval($unitWeight) > 0){
    $saleableUnits = ($sumQty/$unitWeight);
    $unitCost      = ($sumCost/$saleableUnits);
  }

使用intval()获取intval — Get the integer value of a variable,如官方文档here中所述

请记住,清理您的输入并确保只接受数字值始终是有益的,也是必须的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34198393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档