【发布时间】:2016-02-22 19:28:35
【问题描述】:
我有一个函数,它必须转换排名值(即 35 exp)并转换为相关级别(即级别 2)
function level($rank) {
if ( $rank = 0 && $rank >= 5 ) { $level = 1; }
elseif ( $rank <= 6 && $rank >= 20 ) { $level = 2; }
elseif ( $rank <= 21 && $rank >= 50 ) { $level = 3; }
elseif ( $rank <= 51 && $rank >= 100 ) { $level = 4; }
elseif ( $rank <= 101 && $rank >= 500 ) { $level = 5; }
elseif ( $rank <= 501 && $rank >= 1000 ) { $level = 6; }
elseif ( $rank <= 1001 && $rank >= 2500 ) { $level = 7; }
elseif ( $rank <= 2501 && $rank >= 5000 ) { $level = 8; }
return $level;
}
但这不起作用,我得到了 $level 的未定义值。
错误在哪里?感谢所有可以提供帮助的人
【问题讨论】:
-
如果 ( $rank = 0 && $rank >= 5 ) 怎么可能
-
了解
=和==在if()中使用时的区别...您会丢弃排名值,因此ALL 排名变为0,因为你有$rank = 0而不是$rank == 0。因为等级不能同时是0和同时大于5,所以这些测试都没有成功,并且 $level 最终未定义。 -
第二个 $rank = 0 ???它没有比较
-
对于未定义的添加 else{$level = "";}