Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:获取秩值并在level-function()中转换_Php_Math_Operators - Fatal编程技术网

PHP:获取秩值并在level-function()中转换

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

我得到了一个必须转换秩值(即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){$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;
        }
    }

}