PHP:获取秩值并在level-function()中转换
我得到了一个必须转换秩值(即35 exp)并转换为相关级别(即级别2)的函数PHP:获取秩值并在level-function()中转换,php,math,operators,Php,Math,Operators,我得到了一个必须转换秩值(即35 exp)并转换为相关级别(即级别2)的函数 功能级别($rank){ 如果($rank=0&&$rank>=5){$level=1;} elseif($rank=20){$level=2;} elseif($rank=50){$level=3;} elseif($rank=100){$level=4;} elseif($rank=500){$level=5;} elseif($rank=1000){$level=6;} elseif($rank=2500){$l
功能级别($rank){
如果($rank=0&&$rank>=5){$level=1;}
elseif($rank=20){$level=2;}
elseif($rank=50){$level=3;}
elseif($rank=100){$level=4;}
elseif($rank=500){$level=5;}
elseif($rank=1000){$level=6;}
elseif($rank=2500){$level=7;}
elseif($rank=5000){$level=8;}
返回$level;
}
但这不起作用,我得到了$level
的未定义值
错误在哪里?感谢所有能提供帮助的人
=
用于分配
=
用于比较
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;
}
功能级别($rank){
如果($rank=>0&&$rank=6&&$rank=21&&$rank=51&&$rank=101&&$rank=501&&$rank=1001&&&$rank=2501&$rank=
用于分配
=
用于比较
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;
}
功能级别($rank){
如果($rank=>0&&$rank=6&&&$rank=21&&$rank=51&&$rank=101&&$rank=501&&$rank=1001&&&$rank=2501&$rank看起来您在使用=
看起来您在使用=
您有打字错误和主要的逻辑缺陷
(一)
(二)
elseif($rank=20){$level=2;}
^----------------^
解释一个数字如何既小于6,又同时大于20…你有打字错误和严重的逻辑缺陷
(一)
(二)
elseif($rank=20){$level=2;}
^----------------^
解释一个数字如何既小于6,又同时大于20…我会定义一个数组,因为你的if可能变得太复杂了:
function level($userRank) {
$ranks = array(
1=>array('min'=>0,'max'=>5),
2=>array('min'=>6,'max'=>20),
);
foreach($ranks as $level=>$rank) {
if($rank['min']<= $userRank && $rank['max']>= $userRank) {
return $level;
}
}
}
功能级别($userRank){
$ranks=数组(
1=>数组('min'=>0,'max'=>5),
2=>数组('min'=>6,'max'=>20),
);
foreach($level=>$rank){
如果($rank['min']=$userRank){
返回$level;
}
}
}
我会定义一个数组,因为您的if可能会变得太复杂:
function level($userRank) {
$ranks = array(
1=>array('min'=>0,'max'=>5),
2=>array('min'=>6,'max'=>20),
);
foreach($ranks as $level=>$rank) {
if($rank['min']<= $userRank && $rank['max']>= $userRank) {
return $level;
}
}
}
功能级别($userRank){
$ranks=数组(
1=>数组('min'=>0,'max'=>5),
2=>数组('min'=>6,'max'=>20),
);
foreach($level=>$rank){
如果($rank['min']=$userRank){
返回$level;
}
}
}
if($rank=0&&$rank>=5)如何可能了解=
和=
在if()中使用时的区别
…您丢弃秩值,使所有秩都成为0
,因为您使用$rank=0
而不是$rank==0
。由于秩不能同时大于0
,并且不能同时大于5
,因此这些测试都不会成功,并且$level最终未定义。第二个$rank=0???这不是与未定义的秩进行比较dd else{$level=”“;}如果($rank=0&&$rank>=5)了解=
和=
在if()中使用时的区别,这有什么可能
…您丢弃秩值,使所有秩都成为0
,因为您使用$rank=0
而不是$rank==0
。由于秩不能同时大于0
,并且不能同时大于5
,因此这些测试都不会成功,并且$level最终未定义。第二个$rank=0???这不是与未定义的秩进行比较dd else{$level=”“;}True一个变量如何一次包含两个值…Valid pointTrue一个变量如何一次包含两个值…Valid pointU修复了ist条件也修复了其他条件su修复了ist条件也修复了其他条件
elseif ( $rank <= 6 && $rank >= 20 ) { $level = 2; }
^----------------^
function level($userRank) {
$ranks = array(
1=>array('min'=>0,'max'=>5),
2=>array('min'=>6,'max'=>20),
);
foreach($ranks as $level=>$rank) {
if($rank['min']<= $userRank && $rank['max']>= $userRank) {
return $level;
}
}
}