不同年龄和成员的php折扣

时间:2018-10-16 17:33:32

标签: php percentage

我正在尝试创建一个程序,该程序可以计算不同年龄和成员的折扣金额。 12岁以下的人可以享受50%的折扣,如果是会员,则可以享受10%的折扣。年龄在18岁以下或65岁以上的人可以享受25%的折扣,如果成为会员,则可以享受10%的额外折扣。 我的程序似乎只有在12岁以下时才有效,是否有人对如何解决有任何建议(对我来说,我是新手,所以很容易。)

$ticketPrice = 25;
$age = 25;
$membership = 'Yes';
$finalPrice;
$discount;
$memberDis;



if($age < 12) {

    $finalPrice = 25 / 2;

} else if($age < 18) {

$discount = 25 * 0.25;
$finalPrice = 25 - $discount;

} else if($age < 65) {

    $discount = 25 * 0.25;
    $finalPrice = 25 - $discount;
} else if($membership = 'Yes') {

    $discount = $finalPrice * .10;
    $memberDis = $dicount * 100;

}

echo "<br />";
echo "<h1>Ticket Example</h1>";
echo 'Inital Ticket Price: '."&pound".$ticketPrice;
echo "<br />";
echo "Age: ".$age;
echo "<br />";
echo "Member: ".$membership;
echo "<br />";
echo "Final Ticket Price: "."&pound".$finalPrice;

2 个答案:

答案 0 :(得分:0)

  • 您应该使用变量$ticketPrice,而不是在if ..else中对其值进行硬编码。
  • 在条件语句中,只需先确定$discount
  • 然后在条件之外,计算最终价格
  • 比较运算符是==而不是=
  • 会员资格条件检查应移出并与年龄检查分开。

尝试

 // Initialize discount to 0
 $discount = 0;
 $finalPrice = $ticketPrice;

 if($age < 12) {

    // if age is less than 12 then 50% discount
    $discount = 50;

 } elseif($age < 18 || $age > 65) {

    // 25% discount for age < 18 or > 65
    $discount = 25;
 }

 if ($membership == 'Yes') {
    // additional 10% discount on membership
    $discount += 10;
 }


// now calculate the final price after removing discount
$finalPrice -= ($finalPrice*$discount/100);

答案 1 :(得分:0)

您可以看到代码的流程图表示,以便易于理解您在做什么以及为什么它不起作用。 enter image description here

虽然您应该看到======运算符之间的差异,但是您可以看到,如果年龄大于或等于65岁,则将享受会员折扣。

根据您的代码结构,您应该具有:

<?php 

$ticketPrice = 25;
$age = 25;
$membership = 'Yes';
$finalPrice;
$discount;
$memberDis;



if($age < 12) {

    $finalPrice = 25 / 2;

} else if($age < 18) {

    $discount = 25 * 0.25;
    $finalPrice = 25 - $discount;

} else if($age < 65) {

    $discount = 25 * 0.25;
    $finalPrice = 25 - $discount;

} 

if($membership === 'Yes') {

    $discount = $finalPrice * .10;
    $finalPrice -= $discount;

}

echo "<br />";
echo "<h1>Ticket Example</h1>";
echo 'Inital Ticket Price: '."&pound".$ticketPrice;
echo "<br />";
echo "Age: ".$age;
echo "<br />";
echo "Member: ".$membership;
echo "<br />";
echo "Final Ticket Price: "."&pound".$finalPrice;