En realidad switch tiene gran potencial a explotar. Alguna vez lo vi como parte de un script de validación de un formulario. No recuerdo dónde, pero más o menos era así, a ver que os parece:
Código php:
Ver originalswitch(false):
case ( !empty($_POST['nombre']) ) : // Condición que SÍ SE DEBE CUMPLIR $error = 'Debe escribir su nombre'; // Lo que pasa si NO SE CUMPLE
break;
case ( strlen($_POST['nombre']) > 6 and
strlen($_POST['nombre']) < 30 ) : $error = 'El nombre debe tener entre 6 y 30 caracteres';
break;
case ( email_valido($_POST['email']) ) :
$error = 'El email ingresado es incorrecto';
break;
endswitch;
Tenía el inconveniente de que mostraba un error por vez, pero metiéndolo en una función y usando banderas quedaba un código bastante limpio, ordenado, fácil de leer y modificar. Me encantó la lógica empleada. Nada de códigos rebuscados, sólo pura imaginación