我有以下数组:
$groupA= array(1,10);
$groupB = array(11,20);
$groupC = array(21,30);
用户有可能在文本框中输入任何数字,例如“5”,现在我需要告诉用户该数字属于哪个组。我以前是这样做的:
然后像这样使用 switch case:
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个),使用这么多的switch-case是低效的。你有什么更优雅的解决方案吗?
array(1,10,11,20,21,30)
中,并进行二分查找。找到的键将告诉您它属于哪个组。 - jeroen