0

私は多次元配列を持っています:

$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% 割引

私が抱えている問題は、配列メンバーの数を数える方法を知っていることです.qtyも知っていますが、qtyまたは配列メンバーで数える方法を知っていますか? この割引を $products 配列に適用して合計金額を表示する解決策はありますか

4

2 に答える 2

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 ステートメントを作成する方が少し効率的かもしれないことに注意してください。しかし、3 つの場合は、else if に固執します。

于 2013-08-28T16:18:27.750 に答える