Autor | Zpráva | ||
---|---|---|---|
Ghosting Profil |
#1 · Zasláno: 22. 5. 2009, 14:34:32 · Upravil/a: Ghosting
Zdravím chtěl bych se zeptat na jednu polopatickou věc.
Mám dejme tomu PHP kód: <?php echo Ahoj; //Akce 1 echo Nazdar; //Akce 2 ?> Je uložen v test.php Šel by script udělat tak aby při vyvolání stránky: test.php?=akce-1 se vypsal text "Ahoj" a test.php?=akce-2 vypsat "Nazdar"? Jde mi o sjednocení PHP scriptů, doteď je mám roztroušené a includuji do každé stránky jednotlivě. Díky za případnou odpověď. EDIT: Prosím opravte nadpis, díky. |
||
vynalezce Profil |
#2 · Zasláno: 22. 5. 2009, 14:38:04 · Upravil/a: vynalezce
adresa: test.php?akce=1
php $akce=$_GET["akce"]; if($akce=="1"){echo "ahoj";} if($akce=="2"){echo "nazdar";} snad to funguje vice zde http://www.linuxsoft.cz/article.php?id_article=192 |
||
Ghosting Profil |
#3 · Zasláno: 22. 5. 2009, 14:41:29
Jé, díky moc :)
|
||
gmvasek Profil |
#4 · Zasláno: 22. 5. 2009, 16:38:39 · Upravil/a: gmvasek
Lepší je použít switch:
<?php switch((int) $_GET['akce']) { case 1: // do something return; case 2: // do something else return; default: // default action return; } ?> |
||
Ghosting Profil |
#5 · Zasláno: 22. 5. 2009, 22:51:37
gmvasek
Já si říkal že něco podobného to bude. A čím je to lepší? Má to nějaké výhody? |
||
blizz_boz Profil |
#6 · Zasláno: 22. 5. 2009, 23:09:24
Ghosting
nema |
||
Majkl578 Profil |
#7 · Zasláno: 23. 5. 2009, 02:14:13 · Upravil/a: Majkl578
blizz_boz
ale ma. jednak je to prehlednejsi a druhak je to rychlejsi pri delsim seznamu moznosti. pri vertikalne dlouhem switchi a jeho moznostech by se mohla vyplatit i konvence typu: switch(...) { case 1: { ........ } break; case 2: { ....... } break; } ktera sice neni uplne idealni, ale slozene zavorky zvysi prehlednost v kodu (za predpokladu, ze pouziji IDE se zvyraznovanim paru zavorek) jen bych podotkl, ze: [#1] je spatne syntakticky [#2] nema osetrenou neexistenci klice [#4] by melo byt break namisto return, jelikoz return ukonci bezici script pokud tento kod neni umisten ve funkci. |
||
blizz_boz Profil |
#8 · Zasláno: 23. 5. 2009, 16:18:36 · Upravil/a: blizz_boz
Majkl578
Prehladné je to možno v Object Pascale kde má príkaz case naozaj zjednodušujúcu syntax: case Number of 1: ...; 2: ...; 3: ...; end; ale toto: switch($Number) { case 1: { ........ } break; case 2: { ....... } break; case 3: { ....... } break; } sa mi nezdá byť moc prehladné |
||
Majkl578 Profil |
#9 · Zasláno: 23. 5. 2009, 17:51:06
blizz_boz
nic nenaminam na to, ze switch neni moc hezky udelany. nicmene s temi {} je to dle meho prehlednejsi kdyz mas treba case o 100 radcich, tak jednodussi nez hledat nejblizsi zapis dalsiho case je jednodussi oznacit si zavorku a dostat se k jejimu konci. osobne switche pouzivam minimalne (ale casteji nez vyhodnocovani pomoci elseif). :) |
||
Ghosting Profil |
#10 · Zasláno: 24. 5. 2009, 20:58:58
Takže takhle?
<?php switch((int) $_GET['akce']) { case 1: // do something break; case 2: // do something else break; default: // default action break; } ?> |
||
Časová prodleva: 15 let
|
0