Hi,
ohne auf die MENSCHELEI da unten einzugehen, sei dir mitgeteilt, dass die Ausführung von switch() im Regelfall schneller abläuft, als ein Berg if()s und elseif().
Allerdings nur wenn es sich (wie schon erwähnt) um eine "multiple choice" Sache handelt.
Bei drei, vier einfachen Bedingungen reißt if() die Performance nicht sonderlich in den Keller, kommt aber drauf an, wie du if()st. Mit fetten RegExp in der Bedingung ist das aber (in PHP) ein Problem von denen und nicht von if().
switch() "fördert" ggf auch die Übersichtlichkeit.
Ich verwende sie dann, wenn ich unterschiedliche, fette includes() machen muß, was deiner funcion() Sache kwasie gleich kommt.
Ob also eine funcion() oder ein include() bei if oder switch "schneller rennt" ist nicht das Problem, bei switch 'schaltet' PHP nur direkt zur funktion, bei if() muß PHP *immer* rumrechnen und evtl. auch Typkonvertierungen durchführen. Das 'kann', muss aber nicht langsamer gehen.
Zum OOP Posting "unten" - Objekte na gut, wenn's Sinn macht. Ich sehe hier (erstmal) keinen Grund dafür ein Objekt zu bemühen, denn das muß ja auch erstmal instantiiert werden; mit entsprechendem Overhead.
Also: wenn du 100 eindeutige Dinge als "Bedingung" vorliegen hast, bei denen einfache Operatoren wie < > = == und === genügen, dann switche, muß nur zwischen drei oder elf Möglichkeiten entschieden werden und sind dazu weitere Berechnungen {if (gaga() != blabl() )} erforderlich, die auf ein true/false herauslaufen, iffe.
Vielleicht findet sich bei Zend ja ein Benchmark, der genaueres zur Performance von switch() und if() sagt.
I doubt it.
http://www.zend.com
Bitte wählen Sie... jetzt()
CirTap