Malte Will: for schleife in einer switch anweisung - geht das?

der Quelltext:

for($i=1;$i<=3;$i++)
{
     switch($i)
     {
          for($g=1;$g<=18;$g++)
          {
          case "$g":
          echo "Im Fall $g ist der Wert i gleich $i";
          break;
          default:
          break;
          }
     }
}

-------------------------------------------------------

Ist das theoretisch möglich, oder erwarte switch nur die verschiedenen cases und akzeptiert alles andere (wie die for schleife) nicht?

gibt es ne alternativlösung?

  1. Hello,

    das mag wohl gehen, dass man verschiedene Kontrukte schachtelt. Allerdings sehe ich in diesem Fall den Sinn nicht.

    Man könnte das Ganze auch als einfache Sequenz aufbauen, da ja scheinbar nur drei verschieden Fälle nacheinander abgehandelt werden sollen.

    Grüße

    Tom

  2. Hallo,

    (...)

    case "$g":

    (...)
    Mag sein, dass ich mich irre, aber sollte es nicht case $g: heissen, da $i eine Zahl und kein String ist?

    Ist das theoretisch möglich, oder erwarte switch nur die verschiedenen cases und akzeptiert alles andere (wie die for schleife) nicht?

    Hast du es probiert?

    gibt es ne alternativlösung?

    Es gibt für jedes Problem mehr als eine Lösung, aber was willst du überhaupt erreichen? Willst du nur wissen ob $i gleich $g ist, oder wie groß $i ist?

    gruß,
    Severin

    --
    Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
    --Philip K. Dick
  3. Huhu

    eine kreative Idee, dass gebe ich zu ;-)
    Und hast Du es ausprobiert?

    Wenn es funktioniert würde es mir persönlich trotzdem nicht gefallen.
    Ein "normaler" switch ist i.d.R. sehr übersichtlich und nachvollziehbar, was man von Deiner Konstruktion nicht behaupten kann.

    Ich vermute aber mal dass es einen Syntax-Fehler gibt, oder?

    Insgesamt sieht das etwas umständlich aus, was möchtest Du den eigentlich damit bezwecken?

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  4. Hi,

    warum nicht das Switch... einfach sowie die dazugehörige Klammer IN die Schleife ziehen?

    E7