Nesse caso do uso indevido da função switch, pode ser refatorada sem mesmo usar condicionais.
Em meio aos códigos legados de um projeto que trabalho encontrei esse fragmento de código:
<?php
function status($statusId)
{
switch ($statusId) {
case "1":$statusName = "Aprovado";
break;
case "2":$statusName = "Aguardando Pagto";
break;
case "3":$statusName = "Em Analise";
break;
case "4":$statusName = "Rejeitado";
break;
case "5":$statusName = "Devolvido";
break;
case "6":$statusName = "Cancelado";
break;
case "3":$statusName = "Bloqueado";
break;
}
return $statusName;
}
O switch pode ser substituído tranquilamente por um simples array. :)
<?php
function status($statusId)
{
$statusName = [
1 => "Aprovado",
2 => "Aguardando Pagto",
3 => "Em Analise",
4 => "Rejeitado",
5 => "Devolvido",
6 => "Cancelado",
3 => "Bloqueado",
];
return $statusName[$statusId];
}
Além de diminuir a quantia de código fica de fácil leitura.
Um exemplo para o mesmo resultado, muda um pouco a abordagem para usar enums do PHP 8.1.