产品折扣?

时间:2013-08-28 16:06:09

标签: php multidimensional-array

我有多维数组:

$products = array(
  array(
    'id'      => 'sku_123ABC',
    'qty'     => 1,
    'price'   => 39.95,
    'name'    => 'T-Shirt',
  ),
  array(
    'id'      => 'sku_567ZYX',
    'qty'     => 1,
    'price'   => 9.95,
    'name'    => 'Coffee Mug'
  ),
  array(
    'id'      => 'sku_965QRS',
    'qty'     => 1,
    'price'   => 29.95,
    'name'    => 'Shot Glass'
  )
);

我知道如何计算产品的总价格,但我需要的是折扣,看起来像这样

任意2件产品10%折扣

任意3种产品20%折扣

5 +产品30%折扣

我遇到的问题是我知道如何计算数组成员的数量,而且我也知道数量,但我知道如何通过数量或数组成员进行计数? 是否可以在$ products数组上应用此折扣并显示总价

2 个答案:

答案 0 :(得分:1)

如果您想知道产品总数,您想要遍历数组并添加数量以获得总数

$totalProducts = 0;
foreach($products as $product){
   $totalProducts += $product['qty'];
}

答案 1 :(得分:0)

根据aynber的答案,这就是如何根据添加的项目数量获得最终总成本的方法。

$totalProducts = 0;
foreach($products as $product){
   $totalProducts += $product['qty'];
   $totalCost += $product['price'];
}

echo $totalProducts . "<br>";
echo $totalCost . "<br>";


if ($totalProducts == 2) {
  $totalCost = $totalCost - ($totalCost*.1);

} else if ($totalProducts == 3) {
  $totalCost = $totalCost - ($totalCost*.2);

} else if ($totalProducts >= 5) {
  $totalCost = $totalCost - ($totalCost*.3);
}

echo $totalCost;

请记住,如果您要使用一堆规则,创建switch语句可能会稍微高效一些。但有了三个,我会坚持另一个。