我有以下数组:
$groupA= array(1,10);
$groupB = array(11,20);
$groupC = array(21,30);
用户可以在文本框中输入任何数值,例如“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;
然而,这看起来似乎不可行,因为我们有很多组(可能超过200个)并且使用这么多开关案例是无效的.
关于如何更优雅地解决这个问题的任何想法?
解决方法:
我做了一个数组:
$groups = array();
$groups['groupA'] = array('min'=>1,'max'=>100);
$groups['groupB'] = array('min'=>1,'max'=>100);
然后
foreach($groups as $label => $group)
{
if($input >= $group['min'] && $input <= $group['max'])
{
echo "You are in group $label";
break;
}
}
或者你可以将它们放在数据库中
标签:php,arrays,range
来源: https://codeday.me/bug/20190528/1174023.html