ich habe ein Schalter im Webfront mit dem ich die Rollläden auf bestimmte Werte fahren kann zur Beschattung das funktioniert. Nur wie bekomme, dass der Schalter auch anzeigt auf was gedrückt wurde. Ich habe ein Integer Variable angelegt mit drei Zustände und ein Skript.
Ich habe es mir mal durchgelesen und die Beispiele angeschaut, aber verstehen tue ich das dennoch leider gar nicht.
Für mich erschliesst sich irgendwie die Funktionsweise überhaupt nicht.
Was bedeutet denn switch($i) ? Habe das Skript mal 1:1 übernommen und bekomme dort nur undefinierte Variable für „$i“. Wobei ich mich frage, was sich wieder hinter dem „$i“ verbirgt.
Du hast eine Variable, wo Dinge drinstehen, nehmen wir als Beispiel Zahlen. Wenn die Zahl 1 ist möchtest Du x ausführen, wenn die Zahl 2 ist möchtest Du y ausführen und wenn die Zahl 3 ist möchtest Du z ausführen.
Könnte man machen mit
$Zahl = GetValue(12345);
if ($Zahl == 1){
// mache x
}
if ($Zahl == 2){
// mache y
}
if ($Zahl == 3){
// mache z
}
Kann man aber auch machen mit:
$Zahl = GetValue(12345);
switch ($Zahl){
case 1:
// mache x
break;
case 2:
// mache y
break;
case 3:
// mache z
break;
}
Man kann zum Beispiel auch die breaks weglassen. Wenn das der Fall ist, werden im Falle von 1 die Befehle x, y und z ausgeführt und im Falle von 2 nur y und z.
In vielen Fällen macht es Sinn, switch zu verwenden, aber nicht in allen.