我想做一个分区,基本上我希望它能做到这一点
当你有0个联赛积分=铜牌V
当你有10个联赛积分=铜牌IV
当你有20个联赛积分=青铜III
所以基本上,你仍然会是铜牌IV,直到你得到20分,所以我的观点是,当你有10-20分时,你是青铜IV,有人帮助吗?
<?php
$league = $points;
if ($league <= 0) {
$league = "Bronze V";
} else if ($league == 10) {
$league = "Bronze IV";
} else if ($league == 20) {
$league = "Bronze III";
}
?>
现在,我无法让它发挥作用,因为当某人有24点时,它会显示为24点而不是铜牌IV
答案 0 :(得分:0)
我想你想要>=
<?php
if ($points >= 0) {
$league = "Bronze V";
} elseif ($points >= 10 && $points < 20) {
$league = "Bronze IV";
} else {
$league = "Bronze III";
}
?>
为了确保一切都很完美,这是一个更好的布局
<?php
if ($points >= 20) {
$league = 'Bronze III';
} elseif ($points >= 10) {
$league = 'Bronze IV';
} else {
$league = 'Bronze V';
}
?>
答案 1 :(得分:-1)
当您想要使用大于或等于==
时,您正在使用等于比较运算符>=
。
Ascherer指出,拥有$league = $points;
似乎不是一个好主意。此外,您应该养成使用单引号而不是双引号的习惯,因为PHP必须在双引号字符串内部进行解析以检查内部是否存在变量,这会略微降低性能。
以下是我的写作方式:
if($points >= 0)
{
$league = 'Bronze V';
}
else if($points >= 10)
{
$league = 'Bronze IV';
}
else if($points >= 20)
{
$league = 'Bronze III';
}
else
{
$league = 'Undefined';
}