代码之家  ›  专栏  ›  技术社区  ›  a1anm

php计算循环项总数

  •  0
  • a1anm  · 技术社区  · 16 年前

    我有这个代码:

    foreach ($cartContents as $item => $itemQty)
        echo "$item <br /> $itemQty   <br />  $price";
    

    它循环浏览一些项目,并打印名称、数量和价格。然后我想把所有的价格加起来打印出来。有没有办法得到这个数字?

    6 回复  |  直到 16 年前
        1
  •  8
  •   Mike    16 年前

    假设 $itemQty $price 都是数字,这应该可以:

    $total = 0;
    foreach ($cartContents as $item => $itemQty) {
        echo "$item <br /> $itemQty   <br />  $price";
        $total += $itemQty * $price;
    }
    
    echo "Total: $total<br />";
    
        2
  •  0
  •   Lizard    16 年前
    $total = 0;
    foreach ($cartContents as $item => $itemQty) {
        echo "$item <br /> $itemQty   <br />  $price";
        $total += ($itemQty * $price);
    }
    
    echo $total;
    

    这没有什么意义,因为你没有其他的提到 $price

    这也是假设 美元价格 是数字而不是字符串,例如 £5.00

        3
  •  0
  •   DisgruntledGoat    16 年前

    哪里是 $price 变量来自您的示例?假设它是有效的,那么您只需执行以下操作:

    $totalPrice = 0;
    foreach ($cartContents as $item => $itemQty)
    {
        echo "$item <br /> $itemQty   <br />  $price";
        $totalPrice += $itemQty * $price;
    }
    
    echo $totalPrice ;
    
        4
  •  0
  •   Lucas Oman    16 年前

    尝试:

    $total = 0;
    foreach ($cartContents as $item => $itemQty) {
        $total += $price;
        echo "$item <br /> $itemQty   <br />  $price";
    }
    echo "<br/><br/>Total: $total";
    

    我假设你遗漏了你设定的 $price 上面。这是非常基本的代码;我建议您找到一个简单的PHP教程来学习基本语法。谷歌上有一百万。

        5
  •  0
  •   Lizard    16 年前
      $sum=0;
      foreach ($cartContents as $item => $itemQty){
    
        echo "$item <br /> $itemQty   <br />  $price";
        $sum += $price * $itemQty;
    
      }
    
      echo $sum;
    
        6
  •  -1
  •   meman32    16 年前

    设置一个名为$totalPrice的变量,然后每个循环将$price添加到$totalPrice。代码如下,但synatax可能是错误的,有一段时间没有编程php:

    //declare variable $totalprice (I forget how)
    foreach ($cartContents as $item => $itemQty)
    {
    echo "$item <br /> $itemQty   <br />  $price";
    $totalprice+=$price*$itemQty;
    }
    

    编辑:好吧,这让我笑了,三个人同时有同样的答案。