如何在PHP中编写好的if/else-if结构
问题描述:
在PHP中有很好的技巧的人可以帮我纠正这段代码吗?我把它粘在else if(level >= 10)
一个问题,如果level
较大的是10如何在PHP中编写好的if/else-if结构
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>';
}
答
一种方式做,这将是:
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';
+0
非常感谢你!我喜欢这个社区 –
答
你也应该给上层,还可以使用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>';
}
答
两种方式来解决这个问题,但它基本上精确到秒,如果将捕获所有的O f以下条件(等级> = 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是把一个限制每个如果...
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>';
}
你的问题是什么? – saw303
@ saw303问题很明显。假设'level'的值是50,它只会做10级。 –