Binni: switch-Anweisung

N'abend alle zusammen!

Eine Frage zur Theorie: Ich habe eine switch-Anweisung mit mehreren Fällen, also z.B. case "one" und case"two". Ist es möglich, dass ich ausgelöst duch ein Ereigniss in case "two" nach abarbeiten aller Anweisungen in case "two" in case "one" springen kann und dort die Anweisungen ausführen lasse? Wenn ja, wie wird so etwas realisiert?

Noch nen schönen Abend, Grüße - der Binni

  1. Abend,

    Eine Frage zur Theorie: Ich habe eine switch-Anweisung mit mehreren Fällen, also z.B. case "one" und case"two". Ist es möglich, dass ich ausgelöst duch ein Ereigniss in case "two" nach abarbeiten aller Anweisungen in case "two" in case "one" springen kann und dort die Anweisungen ausführen lasse? Wenn ja, wie wird so etwas realisiert?

    Also du willst nachdem eine Switch-Bedingung nicht erfüllt wurde sie danach doch noch ausführen?

    Das würde ich am ehesten realisieren, indem ich den Code der ersten switch-anweisung in eine funktion packe

      
    //-----------------------------------  
    function lachgas() {  
       echo "find ich toll!";  
    }  
      
    function traenengas() {  
       echo "Kinder ";  
       lachgas();  
    }  
      
    $polarforscher = 2;  
      
    switch ($polarforscher) {  
    case 1: lachgas();  
    break;  
    case 2: traenengas();  
    break;  
    default: echo "Kühe sind fett und faul...";  
    break;  
    //--------------------------------------------  
    
    

    ...falls das das ist was du meintest...

    Timon @ http://www.wahnsinn.de.tl

    --
    Käsebrötchen
    Selfcode: sh:( fo:) ch:| rl( br:^ n4:& ie:{ mo:) va:) de:] zu:| fl:| ss:) ls:[ js:|
    1. switch ($polarforscher) {
      [...]
      default: echo "Kühe sind fett und faul...";
      break;

        
      natürlich sollte man switch-Anweisungen auch korrekt beenden, also:  
        
      
      > ~~~php
        
      
      > switch ($polarforscher) {  
      > [...]  
      > default: echo "Kühe sind fett und faul...";  
      > }  
      > 
      
      

      Timon @ http://www.wahnsinn.de.tl

      --
      Käsebrötchen
      Selfcode: sh:( fo:) ch:| rl( br:^ n4:& ie:{ mo:) va:) de:] zu:| fl:| ss:) ls:[ js:|
      1. Hi Timo,

        danke für die Idee! Damit krieg ichs hin!
        Schoenen Abend noch!

        Viele Grüße - der Binni

  2. echo $begrüßung;

    Eine Frage zur Theorie: Ich habe eine switch-Anweisung mit mehreren Fällen, also z.B. case "one" und case"two". Ist es möglich, dass ich ausgelöst duch ein Ereigniss in case "two" nach abarbeiten aller Anweisungen in case "two" in case "one" springen kann und dort die Anweisungen ausführen lasse? Wenn ja, wie wird so etwas realisiert?

    Der Einstiegspunkt in einen switch-Anweisungsblock ist das erste zum switch-Ausdruck passende case-Statement. Danach werden alle Anweisungen bis zum Ende ausgeführt und weitere case-Statements und auch das default dabei ignoriert. Möchte man dieses Fall-Through genannte Verhalten nicht haben verlässt man den Anweisungsblock mit break.

    Dein gewünschtes Verhalten kann also mit geeigneter Anordnung der case-Statements plus auszuführendem Code und unter (teilweisem) Weglassen von break realisiert werden.

    (Du solltest das Fall-Through mittels eines Kommentar als gewünschtes Verhalten kennzeichnen, ansonsten ist man schnell geneigt, ein fehlendes break anzunehmen.)

    echo "$verabschiedung $name";