Tach!
Bei Switch muss man schließlich auch erst überprüfen, ob alle breaks vorhanden sind.
Trotzdem macht switch schon semantisch deutlicher, dass eine Variable auf verschiedene Werte untersucht werden soll, als es unabhängige if-Einzelprüfungen machen können.
Nicht nur das. Wie schon gesagt, es kann auch Beziehungen zwischen Schlüsselparametern geben, Z.B.
if( param('x') && param('y') ) if( param('x') || param('y') )
Sowas kann man mit einem Switch gar nicht auflösen.
Dieses Beispiel ist anders als der besprochene Fall. Dass es solche Fälle gibt, hat keinen Einfluss auf die Argumente für Switch im eigentlich besprochenen Fall.
Unterschiedliche Fälle rechtfertigen unterschiedliche Lösungswege. Dass es mehr oder weniger ähnliche Fälle gibt, rechtfertigt aber nicht per se den Ausschluss von sinnvolleren Lösungen in einigen davon.
dedlfix.