Switch: Mehrere cases ausführen. – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Switch: Mehrere cases ausführen. Fri, 01 Oct 10 10:58:09 Z https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473443#m1473443 https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473443#m1473443 <p>Moin allerseits,</p> <p>ich habe ein Problem mit switch. Und zwar will ich in case 1 eine Eingabe validieren. Wenn Sie nicht valide ist, gebe ich einen Text aus. Wenn sie valide ist, will ich case 2 ausführen. Geht das, indem ich das break in meinen if-Bereich schreibe? D.h. wenn Validierung nicht fehlgeschlagen, wird das break nicht berücksichtigt und ich gehe zu case 2 über?</p> <pre><code class="block language-php"> <span class="token keyword">switch</span><span class="token punctuation">(</span><span class="token variable">$case</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">case</span> <span class="token number">1</span><span class="token punctuation">:</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$var</span> <span class="token operator">!=</span> valide<span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string single-quoted-string">'Pass mir auf! <button>Trotzdem zu case 2</btton>'</span><span class="token punctuation">;</span> <span class="token keyword">break</span> <span class="token number">1</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">case</span> <span class="token number">2</span><span class="token punctuation">:</span> <span class="token keyword">echo</span> <span class="token string single-quoted-string">'Wir tun mal etwas...'</span><span class="token punctuation">;</span> </code></pre> <p>Grüße, JN</p> <div class="signature">-- <br> ie:{ fl:( br:^ va:| ls:[ fo:| rl:? n4:? ss:| de:] js:| ch:? sh:( mo:| zu:)<br> http://www.johny7.de </div> Switch: Mehrere cases ausführen. Fri, 01 Oct 10 11:06:55 Z https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473446#m1473446 https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473446#m1473446 <p>Hello,</p> <blockquote> <pre><code class="block language-php"></code></pre> </blockquote> <blockquote> <p>switch($case)<br> {<br> case 1:<br> if ($var != valide)<br> {<br> echo 'Pass mir auf! <button>Trotzdem zu case 2</btton>';<br> break 1;<br> }<br> case 2:<br> echo 'Wir tun mal etwas...';</p> </blockquote> <pre><code class="block"> Mit case legst Du den Einsprungspunkt in die Sequenzliste fest. Eine Sequenzliste ist einfach eine Aunreihung von Statements. Das bedeutet, ab dem ersten Treffer werden alle nachfolgenden Statements ausgeführt. Aussprungspunkt aus der Sequenzliste ist das erste break, auf dass man dann trifft. Ich hoffe, das hilft Dir etwas weiter? Liebe Grüße aus dem schönen Oberharz Tom vom Berg ![](http://selfhtml.bitworks.de/Virencheck.gif) --  ☻\_ /▌ / \ Nur selber lernen macht schlau <http://bergpost.annerschbarrich.de> </code></pre> Switch: Mehrere cases ausführen. Fri, 01 Oct 10 11:09:57 Z https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473445#m1473445 https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473445#m1473445 <p>Hallo,</p> <blockquote> <p>ich habe ein Problem mit switch. Und zwar will ich in case 1 eine Eingabe validieren. Wenn Sie nicht valide ist, gebe ich einen Text aus. Wenn sie valide ist, will ich case 2 ausführen. Geht das, indem ich das break in meinen if-Bereich schreibe? D.h. wenn Validierung nicht fehlgeschlagen, wird das break nicht berücksichtigt und ich gehe zu case 2 über?</p> </blockquote> <p>ja, das ist möglich. Zwar nicht gerade feiner Programmierstil, aber ohne deine Umgebung zu kennen, wüsste ich auf die Schnelle auch keine bessere Alternative.</p> <blockquote> <p>break 1;</p> </blockquote> <p>Wozu die 1 hier? Ein break ohne Anzahl der "Ausbruchstiefe" bricht immer nur aus *einer* Kontrollstruktur aus, hier aus der switch-Anweisung.</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Idealismus wächst mit der Entfernung zum Problem.<br> Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:( </div> Switch: Mehrere cases ausführen. Fri, 01 Oct 10 14:30:18 Z https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473444#m1473444 https://forum.selfhtml.org/self/2010/oct/1/switch-mehrere-cases-ausfuehren/1473444#m1473444 <p>Code in Funktionen auslagern ist keine Lösung?</p> <p>switch($case)<br> {<br> case 1:<br> if ($var != valide)<br>   echo 'Pass mir auf! <button>Trotzdem zu case 2</btton>';<br> else<br>   TuMalWas();<br> break;<br> case 2:<br>   TuMalWas();<br> break;<br> }</p> <p>function TuMalWas()<br> {<br>   echo 'Wir tun mal etwas...';<br> }</p>