Php 检查数字的范围是多少

Php 检查数字的范围是多少,php,Php,我有一个从0到100x的随机数和不同的范围。如何检查号码在哪个范围内 例如: 给定 如果x=50,结果应该是Case2。这里有一个示例,说明如何检查给定数字所属的范围。定义关联范围数组,其中大小写为关键帧,下限为关键值。然后循环数组并将给定的数字与限制进行比较。如果数字等于或大于限制,请返回限制的大小写 $range = in_which_range( rand(0,100) ); function in_which_range( int $number ) { foreach ( ran

我有一个从0到100x的随机数和不同的范围。如何检查号码在哪个范围内

例如:

给定


如果x=50,结果应该是Case2。

这里有一个示例,说明如何检查给定数字所属的范围。定义关联范围数组,其中大小写为关键帧,下限为关键值。然后循环数组并将给定的数字与限制进行比较。如果数字等于或大于限制,请返回限制的大小写

$range = in_which_range( rand(0,100) );

function in_which_range( int $number ) {
  foreach ( ranges() as $case => $bottom_limit ) {
    if ( $number >= $bottom_limit ) {
      return $case;
    }
  }
}

function ranges() {
  return array(
    'case5' => 85,
    'case4' => 75,
    'case3' => 60,
    'case2' => 40,
    'case1' => 0,
  );
}
因此,您有5个范围:

范围0:0-40 范围1:41-60注意,该范围从41开始,而不是从40开始;否则,您将得到可能不是您最初想要的相交范围 范围2:61-75 范围3:76-85 范围4:86-100 您可以将范围存储在单个数组中,只需将所有范围边界排序即可

$ranges=[0,40,60,75,85,100]; 请注意,您有5个范围,但数组中有6个元素-这很重要。现在,您可以轻松检查每个范围:

$findRange=functionint$x,int…$ranges:?int { 对于$i=0;$iif$x>=$start&&$x if number>=rangeStart and number谢谢您的回答!但我正在搜索另一个解决方案。您希望得到什么其他解决方案?您是在寻找特定的解决方案,还是问题中没有包含某些内容?如果您希望它是动态的,您可以将每个范围的末尾放入一个数组中,如[40, 60, 75, 85, 100].
$range = in_which_range( rand(0,100) );

function in_which_range( int $number ) {
  foreach ( ranges() as $case => $bottom_limit ) {
    if ( $number >= $bottom_limit ) {
      return $case;
    }
  }
}

function ranges() {
  return array(
    'case5' => 85,
    'case4' => 75,
    'case3' => 60,
    'case2' => 40,
    'case1' => 0,
  );
}
Value 0 is in range #0
Value 41 is in range #1
Value 86 is in range #4
Value 101 is not in the range