| 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 |
#2 · Zasláno: 14. 2. 2012, 22:50:25
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 |
#3 · Zasláno: 15. 2. 2012, 00:00:24
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 |
#5 · Zasláno: 15. 2. 2012, 00:21:27
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 |
#6 · Zasláno: 15. 2. 2012, 15:58:10
máte pravdu, nevšiml jsem si toho prvního case, pochopil jsem ten kód špatně. Díky za info, tohle bude OK.
|
||
|
Časová prodleva: 14 let
|
|||
0