Autor Zpráva
Sylar
Profil
Zdravím,
je možné ve switchi přeskakovat mezi jednotlivými casy v rámci jednoho cyklu?
Mám na mysli

switch($stranka) {
case "1":
if (parametr == parametr) echo "potřebuji nyní skočit do case 2";
else echo "pokračuji v tomto case";
break;

case "2":
// kód
break;

default:
break;
}
Keeehi
Profil
switch($stranka) {
case "1":
case "2":
if (parametr == parametr || $stranka == "2") {
    // kód druhého case
else {
    // kód prvního case
}
break;
 
default:
break;
}
Sylar
Profil
Keeehi:
to je samozřejmě možnost, nicméně ten druhý CASE je tam i pro jiné případy ... potřeboval bych nějakou obdobu příkazu "goto" z jiných jazyků ...
Keeehi
Profil
Sylar:
Goto v PHP existuje, ale není žádný důvod to používat.

Řekl bych, že nevíš jak funguje ten můj kód. Pokusím se ti to osvětlit.
možnost 1 - pokud je v $stranka 2, provede se blok příkazů //kód druhého case a nic jiného
možnost 2 - pokud je v $stranka 1 a zároveň parametr == parametr je pravda, provede se blok příkazů //kód druhého case a nic jiného
možnost 3 - pokud je v $stranka 1 a zároveň parametr == parametr je nepravda, provede se blok příkazů //kód prvního case a nic jiného
Alphard
Profil
Keeehi:
Čekal jsem, kdo to prozradí, o goto a eval() se nemluví :-)

Sylar:
Jestli říkáte, že se nějaká část kódu opakuje, tak by často měla být nějakým způsobem vyčleněna, třeba do funkce.
Sylar
Profil
máte pravdu, nevšiml jsem si toho prvního case, pochopil jsem ten kód špatně. Díky za info, tohle bude OK.

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: