php在数组范围内查找值

use*_*670 4 php arrays range

我有以下数组:

$groupA= array(1,10);
$groupB = array(11,20);
$groupC = array(21,30);
Run Code Online (Sandbox Code Playgroud)

用户可以在文本框中输入任何数值,例如"5",现在我需要显示该编号所在的用户.我以这种方式完成了这个:

然后像这样做一个开关盒:

switch ($input){
    case ($input>= $groupA[0] && $input<= $groupA[1]):
        echo "You are in Group A.";
    break;
    case ($input>= $groupB[0] && $input<= $groupB[1]):
        echo "You are in Group B.";
    break;
Run Code Online (Sandbox Code Playgroud)

然而,这看起来似乎不可行,因为我们有很多组(可能超过200个)并且使用这么多开关案例是无效的.

关于如何更优雅地解决这个问题的任何想法?

Bar*_*ach 6

我做了一个数组:

$groups = array();

$groups['groupA'] = array('min'=>1,'max'=>100);
$groups['groupB'] = array('min'=>1,'max'=>100);
Run Code Online (Sandbox Code Playgroud)

然后

foreach($groups as $label => $group)
{
    if($input >= $group['min'] && $input <= $group['max'])
    {
        echo "You are in group $label";
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

或者你可以将它们放在数据库中