Los switch generalmente son muy útiles, pero al mismo tiempo muy limitados. Buscando la forma, podemos extender su uso, para poder evaluar expresiones, y llamar a funciones. Lo que tenemos que hacer es poner las expresiones en los case para que sea el argumento a comparar.
Por ejemplo, podemos hacer lo siguiente
switch (true) {
case ($variable >= 0 && $variable echo '$variable está entre 0 y 3';
break;
case ($variable >= 3 && $variable echo '$variable está entre 3 y 7';
break;
case ($variable >= 7):
echo '$variable es mayor a 7';
break;
}
De esta forma, en vez de hacer tres IFs encadenados podemos recurrir a esta opción, para que nuestro código sea más legible.