Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP开关上分组数值_Php - Fatal编程技术网

在PHP开关上分组数值

在PHP开关上分组数值,php,Php,快速查看以下PHP开关可以说明我的问题,这有点微不足道 switch($Rank) { case 35: case 37: case 43: case 45: case 47: case 53: case 55: case 57: case 67: case 65: $MyOrd = substr($Order, 0, 3); break; default: $MyOrd = ''; break; } switch($Rank) { case 45: case

快速查看以下PHP开关可以说明我的问题,这有点微不足道

switch($Rank)
{
 case 35:
 case 37:
 case 43:
 case 45:
 case 47:
 case 53:
 case 55:
 case 57:
 case 67:
 case 65:
 $MyOrd = substr($Order, 0, 3);
 break;
 default:
 $MyOrd = '';
 break;
}

switch($Rank)
{
 case 45:
 case 47:
 case 53:
 case 55:
 case 57:
 case 67:
 case 65:
 $MyFam = substr($Family, 0, 3);
 break;
 default:
 $MyFam = '';
 break;
}
我只想压缩我的代码。有没有办法修改第一个开关,这样就不用列出所有这些数字,从35到65,我可以简单地说“如果$Rank=35,65或介于两者之间的任何数值,给$MyOrd这个值?”因此新开关可能看起来像这样:

switch($Rank)
{
 case 35-65:
 $MyOrd = substr($Order, 0, 3);
 break;
 default:
 $MyOrd = '';
 break;
}

switch()
替换为
if()
不就可以做到这一点吗?比如:

if($Rank>34 && $Rank<66){
  $MyOrd = substr($Order, 0, 3);
}else{
  //do whatever you would do in default section
}

if($Rank>34&&$Rank)是否有此帮助?使用带有小于/大于比较的
if
?使用带有或比较的if-else语句,这样会生成较少的代码