我需要检查四个条件,我认为最好使用 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
?
我还可以确认 bytepunk 在这里的答案是可行的。
另外,使用 PHP 7 扩展了这一概念:
switch ($interval->days)
{
case 0:
return '1 day';
// break;
case (($interval->days >= 1 && $interval->days <= 7) ?? $interval->days):
return '1 week';
// break;
case (($interval->days >= 8 && $interval->days <= 31) ?? $interval->days):
return '1 month';
// break;
case (($interval->days >= 31 && $interval->days <= 93) ?? $interval->days):
return '2-3 months';
// break;
default:
return '3+ months';
}
我承认这不是最干净的代码,所以也许用类似静态的纯函数包装每个案例会让事情变得整洁一些,并且不要忘记命名每个函数(或创建一个带有参数的通用函数)以匹配案例。这将使其更具可读性。