Autor | Zpráva | ||
---|---|---|---|
Someone Profil |
#1 · Zasláno: 4. 12. 2011, 19:43:34 · Upravil/a: Someone
Dobrý den, nevím si rady s jedním problémem. Jak pomocí funkce switch poznat jaký $_GET je zadán? Nevím jak to správně vyjádřit a proto uvedu příklad. Jak poznat pomocí switch zda je
neco.php?id=1 neco.php?str=1 |
||
unlucky Profil |
#2 · Zasláno: 4. 12. 2011, 19:52:05
bych to resil pres if isset
|
||
Tori Profil |
#3 · Zasláno: 4. 12. 2011, 19:52:35
if (isset($_GET['id'])) { // je zadané "id" } elseif (isset($_GET['str'])) { // pokud se můžou vyskytnout oba parametry, změňte "elseif" na "if" // je zadaný "str" } |
||
Darker Profil |
#4 · Zasláno: 4. 12. 2011, 19:53:01
Přesně tak, řešením je isset. Nezapomeň na skutečnost, že mohou být zadané oba.
|
||
Someone Profil |
#5 · Zasláno: 4. 12. 2011, 19:57:30 · Upravil/a: Someone
A jde to nějak pomocí toho switche? Něco takového:
switch($_GET) { case isset($_GET['id']): echo "Id"; break; case isset($_GET['str']): echo "str"; break; default: echo "nic"; break; } edit: Toto mi funguje jediné co nejde je to, že když není zadán $_GET tak to nevyhodí "nic" ale "id" |
||
Davex Profil |
#6 · Zasláno: 4. 12. 2011, 20:10:31
Možná by to šlo nějak takto:
switch (key($_GET)) { case 'id': echo 'id: ', $_GET['id']; break; case 'str': echo 'str: ', $_GET['str']; break; default: echo 'nic nebo něco jiného'; } |
||
Someone Profil |
#7 · Zasláno: 4. 12. 2011, 20:12:42
To je přesně ono.. na funkci key jsem ještě nenarazil, takže děkuji. Můžu jen otázku ja kto funguje? Proč je za tím "id:" to $_GET['id'] ?
|
||
Davex Profil |
#8 · Zasláno: 4. 12. 2011, 20:18:15
Someone:
„Proč je za tím "id:" to $_GET['id'] ?“ Je to tam zbytečné, klidně to smaž. |
||
Someone Profil |
#9 · Zasláno: 4. 12. 2011, 20:19:28
Dobře, a ta funkce Key? co to přesně provede s tím $_GET ?
|
||
Davex Profil |
#10 · Zasláno: 4. 12. 2011, 20:33:51
Jak sis mohl přečíst v dokumentaci, tak funkce
key() vrácí index současného prvku pole. V tvém případě vrátí první index.
|
||
Someone Profil |
#11 · Zasláno: 4. 12. 2011, 20:34:42
Ok, děkuji za pomoc.
|
||
DoubleThink Profil * |
#12 · Zasláno: 4. 12. 2011, 21:23:44
Co když nebude hledaná proměnná první? Logičtější mi připadá běžný foreach.
foreach($_GET as $key=>$value){ switch($key){ case 'id': echo "$key je rovno $value"; } } |
||
Časová prodleva: 12 let
|
0