Hi,
Ich habe bei einer Variablen viele Fälle zu unterscheiden, darum dachte ich mir das ich sowas mit einer switch/case-Struktur mache:
switch($zahl){
case <= 10: echo "Zahl ist kleiner oder gleich 10\n";break;
case <= 20: echo "Zahl ist kleiner gleich 20\n";break;}
Leider scheint es dieses case <= 10 nicht u geben, da ich immer einen Parse-Error bekomme. Gibt es keine andere Möglichkeit oder muss ich if /else if Strujturen benutzen?
Ohne genauere Kenntnis dessen, was Du bezwecken möchtest (Und jetzt sag' nicht: "Ich will mit einer Variablen verschiedene Fälle unterscheiden" ;-) kann keine Empfehlung abgegeben werden. Aber eine tiefere Erklärung zu switch() kann ich liefern. Ein switch() ist die Zusammenfassung eines Entscheidungsbaumes. Damit das einfach wird (besser gesagt: optimierbar wird, ansonsten wäre ein switch() nicht von einem if/else Konstrukt zu unterscheiden), können nur feste Werte verglichen werden. Meistens auch nur Ganzzahlen (Integer). Intern werden diese Werte nun in eine (balancierten) binären Baum gepackt. Dort können sie sehr schnell und vor allem in konstanter Zeit gefunden werden.
Ich habe mit Absicht oben reichlich Stichworte eingeflochten, die bei Google gute Ergebnisse zeigen, nutze die Gelegenheit.
Dann weißt Du auch, warum meist nur Ganzzahlen erlaubt sind.
so short
Christoph Zurnieden