如何在PHP中编写好的if / else-if结构

时间:2017-11-11 12:22:47

标签: javascript if-statement operators

有PHP技能的人可以帮我纠正这段代码吗?如果else if(level >= 10)大于10,我会遇到问题level

var level = m.level;

if(level < 10)
{
    level = '<span class="levelco">' + level + '</span>';
} 

else if(level >= 10)
{
    level = '<span class="levelco10">' + level + '</span>';
}        

else if(level >= 30)
{
    level = '<span class="levelco30">' + level + '</span>';
}            

else if(level >= 50)
{
    level = '<span class="levelco50">' + level + '</span>';
} 

else if(level >= 80)
{
    level = '<span class="levelco80">' + level + '</span>';
}

3 个答案:

答案 0 :(得分:2)

你也应该给出较高级别并使用elseif,如果PHP,因为它看起来像JavaScript:

var level = m.level;

if (level < 10) {
    level = '<span class="levelco">' + level + '</span>';
} else if (level >= 10 && level < 30) {
    level = '<span class="levelco10">' + level + '</span>';
} else if (level >= 30 && level < 50) {
    level = '<span class="levelco30">' + level + '</span>';
} else if (level >= 50 && level < 80) {
    level = '<span class="levelco50">' + level + '</span>';
} else if (level >= 80) {
    level = '<span class="levelco80">' + level + '</span>';
}

如果无法做到这一点,请改变条件:

var level = m.level;

if (level < 10) {
    level = '<span class="levelco">' + level + '</span>';
} else if (level >= 80) {
    level = '<span class="levelco80">' + level + '</span>';
} else if (level >= 50) {
    level = '<span class="levelco50">' + level + '</span>';
} else if (level >= 30) {
    level = '<span class="levelco30">' + level + '</span>';
} else if (level >= 10) {
    level = '<span class="levelco10">' + level + '</span>';
}

答案 1 :(得分:2)

解决此问题的两种方法,但如果将捕获以下所有条件,它基本上下降到第二种方法(级别&gt; = 10将匹配以下所有条件)。

解决方案1只是重新排序条件。

level = m.level;


if(level < 10)
{
    level = '<span class="levelco">' + level + '</span>';
} 
else if(level >= 80)
{
    level = '<span class="levelco80">' + level + '</span>';
}
else if(level >= 50)
{
    level = '<span class="levelco50">' + level + '</span>';
} 
else if(level >= 30)
{
    level = '<span class="levelco30">' + level + '</span>';
}    
else if(level >= 10)
{
    level = '<span class="levelco10">' + level + '</span>';
}        

选项2是对每个...... {/ p>施加限制

level = m.level;


if(level < 10)
{
    level = '<span class="levelco">' + level + '</span>';
} 

else if(level >= 10 && level <30)
{
    level = '<span class="levelco10">' + level + '</span>';
}        

else if(level >= 30 && level < 50)
{
    level = '<span class="levelco30">' + level + '</span>';
}            

else if(level >= 50 && level < 80)
{
    level = '<span class="levelco50">' + level + '</span>';
} 

else if(level >= 80)
{
    level = '<span class="levelco80">' + level + '</span>';
}

答案 2 :(得分:0)

这样做的一种方法是:

var level = m.level;
var levelclass = 'levelco';

if(level >= 10) levelclass = 'levelco10';
if(level >= 30) levelclass = 'levelco30';
if(level >= 50) levelclass = 'levelco50';
if(level >= 80) levelclass = 'levelco80';

level = '<span class="' + levelclass + '">' + level + '</span>';

反转它并使用else if使其更有效率,因为一旦条件满足就停止执行:

if(level >= 80) levelclass = 'levelco80';
else if(level >= 50) levelclass = 'levelco50';
else if(level >= 30) levelclass = 'levelco30';
else if(level >= 10) levelclass = 'levelco10';