我想知道是否有人可以帮我一点忙。我有一个循环遍历购物车的内容。我希望对购买的其他商品应用 25% 的折扣。所以基本上第一项是全价,其他每一项都降低 25%。我尝试了各种方法,但我似乎得到的只是折扣适用于全部或全部。
if
如果我删除语句及其内容因此不希望应用折扣,则下面的循环可以完美运行。就目前而言,它根本没有增加折扣。如果我删除if
条件并使用它的内容,那么它将对所有项目应用 25% 的折扣。
for($Loop = 0; $Loop < count($Cart); $Loop++)
{
$Total += $ShoppingCart[$Loop][Price];
if($Loop > 1) {
$Total += $ShoppingCart[$Loop][Price];
$PercentageAmount = 25;
$TotalPrice = $TotalPrice * ((100-$PercentageAmount) / 100);
}
}
编辑:
不幸的是,没有一个答案,虽然可能在技术上很好,但不能解决我的问题。我不得不将 2 个 if 语句放在一个循环中,然后计算它们的总和。不是一个理想的解决方案,但完美无缺。不知何故,我需要对它进行排序,所以最昂贵的物品是全价的。如果我不依赖于以这种方式使用循环而是可以使用数组函数,那会容易得多。
$i = 0;
for($Loop = 0; $Loop < count($Cart); $Loop++)
{
if($i == 0) {
$Total += $ShoppingCart[$Loop][Price];
}
if($i > 0) {
$TotalMulti += $ShoppingCart[$Loop][Price];
$TotalMulti = $TotalMulti * .75;
}
$i++;
}
$NewTotal = $Total + $TotalMulti;