Autor | Zpráva | ||
---|---|---|---|
Milan1236000 Profil |
#1 · Zasláno: 4. 6. 2016, 23:56:11
Zdravím, mám tento kus kódu:
if(podmínka1) { if(podmínka2) break; něco1; } else { něco2; } něco3; Můj dotaz zní, co se stane po vykonání příkazu break; . Vyskočí se z toho cyklu úplně a bude se pokračovat na něco3 , nebo se bude pokračovat do části else ?
|
||
abc Profil |
#2 · Zasláno: 5. 6. 2016, 00:15:05
break zastavuje cyklus, ve kterém je volán - s if-em nemá nic společného, není tedy důvod, aby se pokračovalo do "něco2", ale bude se pokračovat do "něco3"
|
||
Milan1236000 Profil |
#3 · Zasláno: 5. 6. 2016, 00:22:45
abc:
Fajn, v tom případě musím vymyslet jiný algoritmus. Díky za odpověď. :) |
||
Keeehi Profil |
#4 · Zasláno: 5. 6. 2016, 01:31:39
Milan1236000:
Jelikož tam nemáš žádný cyklus, php skončí Fatal errorem. Pokud toto všechno je v cyklu, tak jste ty i abc vedle. Po break se neprovede nic. Ani něco1 ani něco2 a ani něco3. Vykoná se až to, co je za cyklem. |
||
Milan1236000 Profil |
#5 · Zasláno: 5. 6. 2016, 14:23:47
Keeehi:
Aha, asi jsem to teda špatně napsal. Chtěl jsem právě docílit toho, že když v tom prvním if -u bude podmínka2 true (něco1 se nevykoná), tak aby se skočilo do toho else a pak až teprve pak na něco3.
|
||
Tomáš123 Profil |
#6 · Zasláno: 5. 6. 2016, 15:06:18
Milan1236000:
Podmienka nemusí byť úplná a môže byť negovaná aj zložená. Neviem, či som správne pochopil tvoj popis v [#5], ale nepotrebuješ to takto: if(podmínka1 && !podminka2) { něco1; } něco2; něco3; |
||
Milan1236000 Profil |
Tomáš123:
V mém případě to takhle udělat nelze. Potebuji mít na stránce buď něco1 , nebo něco2 a pak, ať už tam je cokoli, až něco3 .
Sice to mám prasáckým způsobem, ale už mi to funguje. |
||
Lonanek Profil |
Milan1236000:
„Potebuji mít na stránce buď něco1 , nebo něco2 a pak ať už tam je cokoli, tak něco3 .“
Pak je dle mého špatně napsaný Váš příklad, protože pokud je Podmínka1 splněna a také je splněna Podmínka2 , pak budě něco1 , pokud nebude splněna Podmínka1 bez ohledu na Podmínka2 , bude něco2 a vždy bude něco3 .
Nevíme co pro platnou Podmínka1 se má vypsat. Můžu pouze tipovat: if (Podmínka1) { něco3; } elseif (Podmínka2) { něco1; } else { něco2; } |
||
Jan Tvrdík Profil |
#9 · Zasláno: 5. 6. 2016, 15:33:12
Milan1236000:
„Sice to mám prasáckým způsobem, ale už mi to funguje.“ Když napíšeš, jak to máš teď, tak určitě vymyslíme, jak to vyřešit pěkně. |
||
Milan1236000 Profil |
#10 · Zasláno: 5. 6. 2016, 16:27:30
V jednom php souboru se provede kontrola, zda požadovaná položka v databázi existuje:
... if (isset($_GET['skladba'])) { ... if(...pokud jo...) include 'skladby_skladba.php'; else include 'skladby_polozky.php'; } else include 'skladby_polozky.php'; Původně jsem to měl takhle, ale nechtěl jsem to mít ve více souborech, takže jsem to všechno vrazil do jednoho souboru, kde ale musím mít 2x ten samý kód (je označený). Líp mě to nenapadlo. |
||
Lonanek Profil |
Např.:
... if (isset($_GET['skladba']) AND ...pokud jo...) { include 'skladby_skladba.php'; } include 'skladby_polozky.php'; |
||
Milan1236000 Profil |
Lonanek:
Takto je to dobrý nápad, jen ještě budu tedy muset před to přidat jednu podmínku, která to jen ověří v db a pak to tahle rozhodne. Díky. ;) --- Tak jsem to tak nakonec udělal a funguje to skvěle. :) |
||
Časová prodleva: 9 let
|
0