当前位置:首页 > 叨叨念念 > PHP判断一个数字属于的范围

PHP判断一个数字属于的范围

叨叨念念 / 星之宇 / 2021-9-25 15:15 / 浏览:2209 / 评论:0

很多PHP系统会用到通过积分判断用户等级,也就是说通过一个数字判断属于的范围。


假如通过[0,100,250,500,1000,2000]中找出一个数字所在的位置对应的等级。

方法一

通过if和elseif通过条件一一列出,确定是如果等级越多,if和elseif越多,对于过多的规则就不合适了,影响了效率。

if($point >= 0 && $point < 100){
	$level = 1;
}elseif($point >= 100 && $point < 250){
	$level = 2;
}elseif($point >= 250 && $point < 500){
	$level = 3;
}elseif($point >= 500 && $point < 1000){
	$level = 4;
}elseif($point >= 1000 && $point < 2000){
	$level = 5;
}elseif($point >= 2000){
	$level = 6;
}else{
	$level = 1;
}


方法二

因为范围一般是不重复的和重合的,那么通过当前值插入到排序中,定位位置即可。

function level($t,$points){
    $i = in_array($t,$points) ? 1 : 0;  //如果插入值是数组中存在的,那么去重会去掉,所以+1
    array_push($points,$t);
    $points = array_unique($points);
    sort($points);
    return $i + array_search($t,$points);
}

目前有 0 条评论

    • 昵称
    • 邮箱
    • 网址