【发布时间】:2017-04-16 12:40:53
【问题描述】:
我正在用 PHP 创建一个购物车,一个特定的项目是买一送一的半价。当用户购买该商品时,我希望从总数中扣除该报价,但我一直坚持如何在数学上做到这一点。
到目前为止,我在从数据库获取数据的 if 循环中有类似的内容:
$total = $total+($arraycart['Price']*$quantity);
那么我认为它会是这样的:
if ($arraycart['Item'] == "A1" and $quantity > 1) {
//calculate here buy one get one half price
}
任何帮助表示赞赏。
【问题讨论】:
-
$total = $total+((0.5 * $arraycart['Price']) * $quantity);? -
@u_mulder 这将增加所有东西的半价。他们已经在计算全价乘以数量。您不想在此基础上再加半价。您更有可能希望减半数量的半价,例如:
$total = $total - ($arraycart['Price'] * 0.5 * floor($quantity / 2)),这将删除一半商品的半价。这当然是在您完成$total数学之后。 -
我只是给了一个提示。检查何时应用它是 OP 的任务
-
@u_mulder 我只提到它是因为它在技术上是错误的。如果我有 10 件东西,每件 1 美元,我不想再添加一个
0.5 * $price * $quantity使我的总计 15 美元。如果这是循环数量并添加到总和,那么是的,为每个其他项目添加0.5 * $price就可以了。 -
我会使用另一种方法来实现目标。我会将折扣放入一个单独的数组中,然后我将使用该数组来确定折扣是否仍应适用。将所有内容放在一起会使事情复杂化。
标签: php shopping-cart