如果有多个价格,如何用PHP得到总和(总计)?

时间:2013-01-14 20:58:23

标签: php

我会说的很简单,假设我有一个购物车,还有三种不同的价格:

  1. $价
  2. $ specialprice
  3. $ salesprice
  4. 当然有产品数量。

    数学的第一步是:

    <?php
    
       $price_regular = $price * $quantity
       $price_special = $specialprice * $quantity
       $price_sales   = $salesprice * $quantity
    
    ?>
    

    所以,让我举一个简单的例子,在购物车中添加3个产品后:

    1. 产品A - 30 $($ price)
    2. 产品B - 25 $($ specialprice)(旧价格为30 $)
    3. 产品C - 22 $($ salesprice)(旧产品为35 $)
    4. 总和应该是77美元。

      这是我想从我的代码中获得的结果。

      但是如何?

      我尝试做类似的事情:

      <?php
          $totalprice = $totalprice + $price_regular; 
      ?>
      

      但它只给了我常规价格的总和。我需要代码来精确计算,就像我的简单例子中的产品A - B - C

      一样

      这是我文件中的真实代码:

      $totalprice = 0;
                      $totalarticles = count($itemsonpage);
                      for ($i=0;$i<=(count($itemsonpage) - 1);$i++){
                      $productslist[$i]['id'] = $itemsonpage[$i]['productid'];
                      $products->ShowByID($itemsonpage[$i]['productid']);
                      $productslist[$i]['code'] = $products->code;
                      $products->ShowLangDataByID($products->id,$chooselang);
                      $productslist[$i]['name'] = $products->name;
                      $productslist[$i]['quantity'] = $itemsonpage[$i]['quantity'];
                      $productslist[$i]['price'] = $itemsonpage[$i]['price'];
                      $productslist[$i]['specialprice'] = $products->specialprice;
                      $productslist[$i]['salesprice'] = $products->salesprice;
                      $productslist[$i]['allprice'] = $products->price * $productslist[$i]['quantity'];
                      $productslist[$i]['allprice2'] = $products->specialprice * $productslist[$i]['quantity'];
                      $productslist[$i]['allprice3'] = $products->salesprice * $productslist[$i]['quantity'];
      
      
                      $totalprice = $totalprice + $productslist[$i]['allprice'];
      

5 个答案:

答案 0 :(得分:0)

<?php
$totalprice += $price_regular; 
$totalprice += $price_special;     
$totalprice += $price_sales;   
echo $totalprice;
?>

答案 1 :(得分:0)

为什么你不能这样计算呢?

<?php
$totalprice = $price_sales + $price_special + $price_regular; 
?>

答案 2 :(得分:0)

由于您只是添加$price_regular,因此只能在$totalprice中添加 $totalprice = $price_regular + $price_special + $price_sales; 。你需要尝试这样的东西,加上所有3个价格,

{{1}}

答案 3 :(得分:0)

我想在您的购物车中有几种产品,而您不知道有多少产品。您应该阅读PHP arraysPHP loops

然后,要使用数组和循环来执行总和,您可以使用如下操作:

<?php
$totalprice = 0;

$prices=array(30,25,22);
foreach ($prices as $each)
  {
    $totalprice += ;
  }

echo $totalprice."<br />";
?>

答案 4 :(得分:0)

根据您的问题,我了解您需要添加3个数字,上面的所有答案都会告诉您如何添加3个数字。

我认为你实际上问了错误的问题所以我会给你一个错误的答案,也许这就是你想要的。

您有以下数据库结构 表产品(id,name,price_sales,price_special,price_regular)

price_sales和price_special可以是0,表示该产品不在销售或特价。

要获得总数,您需要根据ID从db执行每个产品的选择,并获得一个以列为属性的对象。你的代码应该是这样的。

    $products = function_that_gets_the_products_from_the_db();
    foreach($products as $product) {
        $total_cart += $product->price_sales ? $product->price_sales : ($product->price_special ? $product->price_special : $product->price_regular)
    }

此代码检查产品是否在售,如果是,则使用该价格,如果不是则检查是否为特价,如果是,则使用该价格,否则使用正常价格。