Autor | Zpráva | ||
---|---|---|---|
filiphk Profil |
#1 · Zasláno: 4. 8. 2008, 08:16:52
Ahoj,
chtěl bych se zeptat, zda je nějakým způsobem možné zjednodušit tento zápis: if($_GET["text"] == "a") {echo "Abeceda";} elseif($_GET["text"] == "b") {echo "Bagr";} elseif($_GET["text"] == "c") {echo "Cuketa";} elseif($_GET["text"] == "d") {echo "Dakar";} else {echo "$text2";} Především, aby se v něm neustále nemuselo opakovat elseif($_GET["text"]. |
||
Hugo Profil |
#2 · Zasláno: 4. 8. 2008, 08:27:24
switch ($_GET['text']) { case 'a': echo 'Abeceda'; break; case 'b': echo 'Bagr'; break; } |
||
nightfish Profil |
#3 · Zasláno: 4. 8. 2008, 08:52:37 · Upravil/a: nightfish
pokud by těch možností mělo být o hodně víc než 4, tak by možná stálo za to použít pole
$pole = array("a" => "Abeceda", "b" => "Bagr", "c" => "Cuketa", "d" => "Dakar", ...); if (isset($_GET['text'])) $text = $_GET['text']; else $text = ""; EDIT: a poslední řádek má být if (isset($pole[$text])) echo $pole[$text]; else echo $text2; místo původního if (in_array($text, $pole)) echo $pole[$text]; else echo $text2; za upozornění děkuji Jack Fingerovi |
||
filiphk Profil |
#4 · Zasláno: 4. 8. 2008, 10:21:45
Díky za pomoc. Nejspíše kód přepíšu do toho pole, protože těch možností je kolem stovky. :c)
|
||
Jack Finger Profil |
#5 · Zasláno: 4. 8. 2008, 14:38:28
nightfish
nejsem si jist, zda jsem to správně pochopil, ale nemělo by místo in_array() být spíše array_key_exists() ? |
||
nightfish Profil |
#6 · Zasláno: 4. 8. 2008, 14:39:35
Jack Finger
pochopil jsi to správně, psal jsem to bez přemýšlení, provedu úpravu v původním příspěvku (akorát místo array_key_exists bych použil isset) |
||
Jack Finger Profil |
#7 · Zasláno: 4. 8. 2008, 15:29:53
nightfish
zrovna dneska jsem to řešil, tak mě to trklo. zkusím taky isset :o) |
||
filiphk Profil |
#8 · Zasláno: 4. 8. 2008, 20:41:40
Díky všem, příklad od nightfishe (upravený Jackem Fingerem) mi funguje na jedničku. :c)
Vyřešeno, zamykám. |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0