I have four conditions that I need to go through and I thought it would be best to use the switch
statement in PHP. However, I need to check whether an integer is, let's say, less than or equal, or greater than and equal.
switch ($count) {
case 20:
$priority = 'low';
break;
case 40:
$priority = 'medium';
break;
case 60:
$priority = 'high';
break;
case 80:
$priority = 'severe';
break;
}
With an if()
statement it would look like the following:
if ($count <= 20) {
$priority = 'low';
} elseif ($count <= 40) {
$priority = 'medium';
} elseif ($count <= 60) {
$priority = 'high';
} else {
$priority = 'severe';
}
Is that possible in switch-case
?
A more general case for solving this problem is:
switch (true) {
case $count <= 20:
$priority = 'low';
break;
case $count <= 40:
$priority = 'medium';
break;
case $count <= 60:
$priority = 'high';
break;
default:
$priority = 'severe';
break;
}
Also, since PHP 8.0 you can use a more concise match operator:
$priority = match(true) {
$count <= 20 => 'low',
$count <= 40 => 'medium',
$count <= 60 => 'high',
default => 'severe',
};