# [PHP] switch mit default



## MedicHere (4. Aug 2010)

Hi,

kann man hinter 'default : ' auch '{}' setzten um darin z.B. noch weitere 'if(){}' zu setzten?


----------



## eRaaaa (4. Aug 2010)

Wieso fragt man so etwas in einem Java-Forum? ???:L
Wenn du sowas wie
	
	
	
	





```
<?php
$var = 51;
switch ($var) {
case 0:
    echo "null";
    break;
case 5:
    echo "5";
    break;
default: 
    if($var<10)echo "kleiner 10"; 
    else if($var>=10&&$var<20) echo "größer gleich 10 kleiner 20";
    else if($var>20 && $var <=50) echo "größer 20 kleiner=50";
    else echo "größer 50";
}
?>
```
meinst, ja das sollte gehen --> PHP code - 14 lines - codepad

Ansonsten einfach mal selbst ausprobieren?


----------



## MedicHere (4. Aug 2010)

Nein ich meine 
	
	
	
	





```
default : 
				{
					if($i > 3)
					{
						$i = -1;
					}
					$i++;
					return $Zugangsdaten[i];
				}
```
Bitte meine Frage richtig lesen!


----------



## eRaaaa (4. Aug 2010)

MedicHere hat gesagt.:


> Bitte meine Frage richtig lesen!



Entschuldige der Herr!

Bitte meine Antworten richtig lesen, dann hättest du dir nämlich durch selbst ausprobieren schon viel früher eine Antwort selbst geben können.

http://codepad.org/wkiumC9l

Funktioniert


----------



## MedicHere (4. Aug 2010)

Danke der Herr. Nach wie vor begrüße ich aber jedoch die Anwendung von "Ja" oder "Nein" einer Frage. Ausbrobieren bei PHP ist so eine Sache, da es eine Parsingsprache ist, wo sich erst dann beim Einsatz zeigt ob es funktioniert. Also warum vornerein auf verdacht coden mit der Gefahr fehlerhaft zu coden?

Eine Frage hätte ich aber noch. Wird das hinter 'default : ' immer ausgeführt oder nur wenn keiner der 'case : ' zutreffend war mit dem selektierten Wert im switch-Kopf?


----------



## eRaaaa (4. Aug 2010)

Kommt drauf an.
Wenn dein switch Durchfall hat wirds immer ausgeführt ja 
Soll heißen, wenn kein Wert passt, wirds eh ausgeführt, sollte klar sein, passt ein Wert kommt es drauf an ob im case rausgesprungen wird, z.B. mit break; / return; dann gehts nicht weiter, ansonsten gehts natürlich weiter nach unten durch...

p.s.: Ich habe ncht umsonst die Links gepostet! Da kann man so kleine Codeschnippse leicht posten und ausführen lassne und sich Ergebnisse oder parse-errors anzeigen lassen !!!


----------



## MedicHere (4. Aug 2010)

Das heißt die einfache direkte Antwort heißt, ja es wird immer zzgl. ausgeführt, es sei denn aus switch wird voher gesprungen (break). Aber das ist dann logisch und ergibt sich logisch. Die logische direkt Antwort auf meine Frage lautet also "Ja"!

Thred bitte schließen!


----------



## Noctarius (4. Aug 2010)

Ich frage mich bei solchen Fragen immer: Wieso versucht man das nicht einfach? Gerade in sowas wie PHP hat man ja nicht mal großen Aufwand drum herum ... Faul geht die Welt zugrunde ...


----------



## ARadauer (4. Aug 2010)

> Also warum vornerein auf verdacht coden mit der Gefahr fehlerhaft zu coden?


1.
Ausprobieren: 15 Sekunden
in ein Forum posten: sicher länger
2.
Durch selber ausprobieren lernt mans viel besser. Duch die Fehler die man macht lernt man am meisten... auf jeden Fall mehr als durch ein ja oder nein...


----------



## Tomate_Salat (4. Aug 2010)

MedicHere hat gesagt.:


> Also warum vornerein auf verdacht coden mit der Gefahr fehlerhaft zu coden?



Ums zu lernen? Wenn du schon bei PHP so einen schiss vor fehlerhaftem Code hast, dann gute nacht bei c++/java/c...Und respekt an eRaaaa, bei solchen Antworten und der Tatsache, dass er komplett im falschen Forum hier ist, hätte ich ihm spätestens nach der zweiten Antwort einen link zu einem google-verweis nach [c]php forum[/c] geschickt und hätte aufgehört ihm zu versuchen zu helfen....

...ich mein das hier JS-Fragen mal auftauchen kann ich noch iwie nachvollziehen...aber diese PHP-Fragen ...


----------

