我需要检查四个条件,我认为最好使用 PHP 中的 switch 语句。但是,我需要检查一个整数是否小于或等于,或者
我需要检查四个条件,我认为最好使用 switch
PHP 中的语句。但是,我需要检查一个整数是否小于或等于,或者大于或等于。
switch ($count) {
case 20:
$priority = 'low';
break;
case 40:
$priority = 'medium';
break;
case 60:
$priority = 'high';
break;
case 80:
$priority = 'severe';
break;
}
使用 if()
声明后它看起来将如下所示:
if ($count <= 20) {
$priority = 'low';
} elseif ($count <= 40) {
$priority = 'medium';
} elseif ($count <= 60) {
$priority = 'high';
} else {
$priority = 'severe';
}
这可能吗 switch-case
?
交换机无法做到这一点,但在这种特殊情况下,您可以执行如下操作:
switch ((int)(($count - 1) / 20)) {
case 0:
$priority = 'low';
break;
case 1:
$priority = 'medium';
break;
case 2:
$priority = 'high';
break;
case 3:
$priority = 'severe';
break;
}
因此, (int)(($count - 1) / 20)
从 0 到 20 的所有值都将计算为 0,从 21 到 40 的所有值都将计算为 1,依此类推,您可以使用 switch 语句来实现此目的。
而且由于我们正在连接值,我们甚至可以简化为数组:
$priorities = ['low', 'medium', 'high', 'severe'];
$priority = $priorities[(int)(($count - 1) / 20)];