Code complete – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Code complete – PHP – Fórum – Programujte.comCode complete – PHP – Fórum – Programujte.com

 

olgo0
Věrný člen
27. 11. 2006   #1
-
0
-

mam jeden skrypt kt. je sice funkcni ale ne moc elegantny.
na zaklare uzivatelouho vstupu rozhodujem kt. premenna sa pouzije a vizera to zatial takto:



$a="val1";
$b="val2";
...
$n="valn";
//----------------
switch ($_REQUEST["choice"]):
case "a": $universal_var=$a;break;
case "b": $universal_var=$b;break;
...
case "c": $universal_var=$c;break;
endswitch;


neda sa to nejak zjednodusit?

Nahlásit jako SPAM
IP: ...–
"Boze, dopraj mi, prosim ta, petdesiat rokov prace a zabavy, a potom nahlu smrt v spanku." J. Grisham
UrbanShaman
~ Anonymní uživatel
2 příspěvky
27. 11. 2006   #2
-
0
-

Je mnoho možností.. já bych použil pole s hodnoutou proměnné jako index

$pole_hodnot_pro_prepis = new Array (a => "HODNOTA A", b => "Hodnota B") //naplníš pole
$universal_var = $pole_hodnot_pro_prepis[$_REQUEST['choice']]

Nahlásit jako SPAM
IP: ...–
Jakub0
Super člen
27. 11. 2006   #3
-
0
-

To UrbanShaman: Dobrý nápad, ale já bych si ho dovolil trochu poupravit:



$pole_hodnot_pro_prepis = Array('a' => 'HODNOTA A', 'b' => 'Hodnota B'); //naplní pole
if(isset($_REQUEST['choice']) && in_array($_REQUEST['choice'], $pole_hodnot_pro_prepis)) {
$universal_var = $pole_hodnot_pro_prepis[$_REQUEST['choice']];
}
else {
//zpracovat
}

Nahlásit jako SPAM
IP: ...–
Věřím, že můžete v životě získat všechno, co budete chtít, když budete pomáhat druhým lidem, aby dostali to, co si přejí oni. - Zig Ziglar TOPlist
olgo0
Věrný člen
27. 11. 2006   #4
-
0
-

dik moc!

Nahlásit jako SPAM
IP: ...–
"Boze, dopraj mi, prosim ta, petdesiat rokov prace a zabavy, a potom nahlu smrt v spanku." J. Grisham
Ondrej Juríček
~ Moderátor
0
Stálý člen
27. 11. 2006   #5
-
0
-

Je tu ešte jedna možnosť, ale dosť brutálna a keď mám povedať pravdu asi by som ju v živote nepoužil vo svojom scripte. :D

<?php

$a = "val1";
$b = "val2";
// ...
$n = "valn";

eval("$universal_var = $$_REQUEST["choice"];");
?>


Hlavne to chce sakramensky ošetriť vstup!!! ;)

Nahlásit jako SPAM
IP: ...–
olgo0
Věrný člen
27. 11. 2006   #6
-
0
-

To OndreJ: Eval()! to je presne to co som hladal ale uz som to vyriesil asociativnim polom =:-(. urcite vdaka za snahu. a ten vstup je generovany odkazom takze ho osetrovat nemusim.

az teraz som si spomenul ze eval je aj v JS. sorry ze som otravoval

Nahlásit jako SPAM
IP: ...–
"Boze, dopraj mi, prosim ta, petdesiat rokov prace a zabavy, a potom nahlu smrt v spanku." J. Grisham
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 26 hostů

Podobná vlákna

Code : ( — založil Peter D.

C# source code — založil Anonymní uživatel

Code::Blocks — založil Dodo

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý