首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP数学、循环变量和显示

问PHP数学、循环变量和显示
EN

Stack Overflow用户
提问于 2013-05-07 20:24:31
回答 4查看 241关注 0票数 0

目前,我遇到了一个问题,我想要显示一个变量的数量,该变量通过while循环来收集信息。while循环将使用多个产品,但我只希望显示一个最终结果。以下是我所拥有的:

代码语言:javascript
复制
$amountoff = NULL;
$faceval = 20;

while($row = mysql_fetch_object($que)){
  $val = $row->amount;
  $price = $row->price;
  $quantity = $row->quantity;
  //if($faceval>0){
    if($faceval >= 0){
      if($faceval < 0){
        // Do Nothing
      } else {
        if($quantity > 1){
          if($quantity * $price < $faceval){
            $amountoff = $price * $quantity;
            $faceval = $faceval - $val;
          }
        } else {
          $amountoff = $price;
          $faceval = $faceval - $val;
        }
      }
    }
  //}

}
echo money_format('%(#10n', $amountoff);

我的问题:我的问题是,为什么我的数量总是空白或0.00?通过测试我的$val = 15.00、$price = 7.50和$quantity = 1,我不知道数学是如何打破的,或者是以0.00/空白的速度返回的。有什么想法或建议吗?我不会得到任何PHP错误或MySQL错误;我只是得到的值不超过0.00作为我的返回值。

编辑:,我已经修改了if语句,完全删除了第一个if语句,我仍然得到了0.00的响应。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-07 20:26:47

如果($faceval=0){应该是

代码语言:javascript
复制
if($faceval==0){

它永远不会进入那个声明

编辑:只是为了清理代码:编辑:添加了一些调试

代码语言:javascript
复制
$amountoff = NULL;
$faceval = 20;
$set = false;
while($row = mysql_fetch_object($que) && $faceval>0){
   $val = $row->amount;
   $price = $row->price;
   $quantity = $row->quantity;
   $set = true;
   if($quantity > 1 && $quantity * $price < $faceval){
       $amountoff = $price * $quantity;
       if ($price==0) echo "PRICE IS ZERO<br>";
       if ($quantity==0) echo "QTY IS ZERO<br>";
       $faceval = $faceval - $val;
   } 
   else {
          $amountoff = $price;
          if ($price==0) echo "PRICE IS ZERO<br>";
          $faceval = $faceval - $val;
   }
}
if (!$set) echo "LOOP NEVER ENTERED<br>";
echo money_format('%(#10n', $amountoff);
票数 3
EN

Stack Overflow用户

发布于 2013-05-07 20:27:19

您的if语句是嵌套的,这样做是错误的。第二个嵌套的if永远不会被击中:

代码语言:javascript
复制
if($faceval==0){
   if($faceval >= 0){
     if($faceval < 0){
票数 0
EN

Stack Overflow用户

发布于 2013-05-07 20:28:04

你有你的第一个,如果错的if($facevalue = 0) { //do something }。

它永远不会进入if中,因为顶部的facevalue被定义为20,请检查代码。

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

https://stackoverflow.com/questions/16427930

复制
相关文章

相似问题

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