誰かが私を少し助けてくれませんか。ショッピング カートの内容をループするループがあります。追加購入した商品に 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;