帮我看一下,这个php的switch我写的对不对?
* 获取用户购买商品折扣比例
* 折扣比例说明:
* 积分 0 - 99 10折,没有折扣
* 积分 100 - 999 9.5折
* 积分 1000 - 2999 9折
* 积分 3000 - 9999 8.5折
* 积分 10000 - 99999 8折
* 积分 100000 以上 7.5折
//获取用户积分
$integral = 1000;
//计算折扣比例
$Rebate = 1;//默认没有折扣
switch ($integral)
{
case $integral > 100000 :
$Rebate = 0.75;
break;
case $integral > 10000 :
$Rebate = 0.8;
break;
case $integral > 3000 :
$Rebate = 0.85;
break;
case $integral > 1000 :
$Rebate = 0.9;
break;
case $integral > 100 :
$Rebate = 0.95;
break;
default:
$Rebate = 1;
}
我这么写的,有什么毛病吗,大神?还有更简单点的吗?谢谢哈!
更新:修改了一下,有点毛病。
switch (true)
{
case $integral >= 100000 ; $Rebate = 0.75 ;break;
case $integral >= 10000 ; $Rebate = 0.8 ;break;
case $integral >= 3000 ; $Rebate = 0.85 ;break;
case $integral >= 1000 ; $Rebate = 0.9 ;break;
case $integral >= 100 ; $Rebate = 0.95 ;break;
default:
$Rebate = 1;
}
switch (true),这里必须是true,否则是 0的情况,返回的不正确。然后case压缩成一行,要不太长了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)