Autor Zpráva
Swww
Profil *
Pokud mám switch:

case 1:
case 2:

case 3:...


a v něm se provádí case 1, můžu nějak udělat aby to skočilo potom na case 3, tedy přeskočilo case 2? (bez toho aby prohazoval pořadí těch case)

díky

Moderátor Joker: Titulek „funkce switch“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Nox
Profil
switch není funkce ale jazyková struktura

není, navíc by to mohlo být docela nepřehledné když by se nějak skákalo různě uvnitř switche
Joker
Profil
Swww:
Ani nevím, jestli by fungovalo goto, v PHP se nedá skákat dovnitř switche a cyklu, ale nevím jak uvnitř switche přes jeho větve.
Každopádně, goto je zlo a kdo ho používá, toho sežere raptor (je to i v manuálu) :-)

Jinak ale to popsané v prvním příspěvku by v PHP šlo udělat, protože PHP umožňuje „propadávání“ větvemi switche, stačí na konec nedat break;

Příklad:
switch($cislo)
{
  case 2: dvojka();
    break;

  case 1: jednicka();
    // není break, takže se pokračuje další větví
  case 3: trojka();
    break; // tady se skončí
}
Výsledek:
$cislo = 1 => provede se jednicka() a trojka()
$cislo = 2 => provede se dvojka()
$cislo = 3 => provede se trojka()
Swww
Profil *
No problém je v tom že já jednou potřebuju aby to šlo 1 3, a pak jindy zase 2 3.. takže přehozením si moc nepomůžu. Ale je to jedno, já tam strčím podmínku a je to :)
nightfish
Profil
Swww:
No problém je v tom že já jednou potřebuju aby to šlo 1 3, a pak jindy zase 2 3.. takže přehozením si moc nepomůžu. Ale je to jedno, já tam strčím podmínku a je to :)
Něco mi říká, že použití switche v tomto případě asi nebude vhodné. Pověz nám, čeho se snažíš dosáhnout, třeba vymyslíme vhodnější řešení.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: