Portál AbcLinuxu, 29. dubna 2024 12:03


Dotaz: PHP a název proměnné - Oříšek pro opravdu znalé

21.9.2011 17:58 karolina
PHP a název proměnné - Oříšek pro opravdu znalé
Přečteno: 685×
Odpovědět | Admin
Ahoj, potřebuji testovat proměnnou s názvem $error_jirka, normálně to udělám takto
if ($error_jirka) { echo "existuje"; } 
ale když tu proměnnou naznám a mám jen dvě proměnné které ten název po spojení obsahujou
$a = "error_"; 
$b = "jirka"; 
jak napsat tu podmínku teď aby byla stejná jako ta co jsem uvedla výše 
if (???????) { 
echo "existuje"; 
}
Děkuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.9.2011 18:06 Sten
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Odpovědět | | Sbalit | Link | Blokovat | Admin
if (${$a.$b}) {
Ale přijde mi to jako dost podivný návrh aplikace.
21.9.2011 18:09 Kamil
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, asi nejlepší bude nejdříve řetězce spojit a získat tak název proměnné a pak otestovat:
$a = "error_";
$b = "jirka";
$c = $a.$b;
if (isset($$c)) {
  echo "existuje";
}
Tarmaq avatar 21.9.2011 18:26 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Odpovědět | | Sbalit | Link | Blokovat | Admin
A k cemu to ma byt dobre? Skladat nazev promenne IMHO neni dobry napad.
Don't panic!
21.9.2011 18:33 karolina
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji za pomoc ;)

k čemu je to dobré? předávám tu proměnnou do funkce, tak nevím jak to jinak udělat :(
21.9.2011 20:57 Sten
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Předávejte tu proměnnou odkazem, předpokládám, že na nic jiného to nepotřebujete:
function spam(&$egg) {
Tarmaq avatar 22.9.2011 10:14 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
tak tohle bych rozhodne nedoporucoval..
Don't panic!
vain avatar 22.9.2011 11:06 vain | skóre: 16
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Proč ne? Tedy nevím, jestli to je v PHP problém, ale v C++ normální věc. Případně jako konstantní odkaz, pokud obsah proměnné nechci měnit.
If the only choice you've got is to do the wrong thing, then it's not really the wrong thing, it's more like fate.
Tarmaq avatar 22.9.2011 11:32 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
ano, v C++ je to bezne, pouzit const ale v PHP nejde. Ok, nechci rict ze to je spatne, ale IMHO to zpusobuje casem neprehlednost kodu, spatne se orientuje kde se co s promennou deje atp. Pokud to neni nutne, vyhybam se referencim. Tedy misto
function foo(&$var)
{
  $var = 'bar';
}
foo($omg);
radeji pouzivam
function foo()
{
  return 'bar';
}
$omg = foo();
Don't panic!
vain avatar 22.9.2011 11:40 vain | skóre: 16
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
ano, v C++ je to bezne, pouzit const ale v PHP nejde.
To mi stačí, potom souhlasím, že to není nejlepší řešení na všechny situace (především ty "const situace"). PHP není můj obor, nenapadlo mě, že něco na ten způsob nemá.
If the only choice you've got is to do the wrong thing, then it's not really the wrong thing, it's more like fate.
23.9.2011 00:20 Ash | skóre: 53
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Když se vrátíme k původnímu dotazu, tak tak ale asi nepoznáte, zda je omg definovaná, že? ;)
Tarmaq avatar 23.9.2011 00:43 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
tohle uz byl tezkej off topic, se zadanim nesouviselo ;]
Don't panic!
23.9.2011 18:29 Sten
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
PHP má reference counting a copy-on-write, takže tam jsou konstantní reference zbytečné. Nejspíše proto je ani nepodporuje.
Tarmaq avatar 22.9.2011 10:13 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
o to mi ani neslo, spis proc je potreba tu prommennou skladat.. Proste nejak strucne naznacit o co tam jde, ze se musi promenna skladat z vice promennych..
Don't panic!
Tarmaq avatar 22.9.2011 10:21 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
jo uz mi to docvaklo ;] vlastne to akorat vypada, ze by se to dalo nahradit polem.
$errors = array();
# mezitim dojde nekde k naplneni pole $errors chybami
$b = 'jirka';
if (isset($errors[$b])) {
  echo 'existuje';
}
Don't panic!
22.9.2011 11:47 Kit
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
A nebylo by jednodušší naučit se pracovat s výjimkami?
Tarmaq avatar 22.9.2011 12:06 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
ja vyjimky pouzivam, nicmene chtel jsem na zadanem prikladu demonstrovat jak se vyhnout concatenovani nazvu promenne. S polem se pak i lepe pracuje.
Don't panic!
22.9.2011 12:56 Kit
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
To určitě. V uvedeném případě se dá i dobře procházet foreach nebo map_reduce() apod.
22.9.2011 13:32 Kit
Rozbalit Rozbalit vše Re: PHP a název proměnné - Oříšek pro opravdu znalé
Samozřejmě jsem chtěl napsat array_reduce().

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.