Autor Zpráva
mosba
Profil
potřeboval bych použít proměnnou v názvu vlastnosti. čekal jsem, že to funguje stejně jako proměnná v proměnné, ale dostávám hlášku undefined variable.

procházím polem a potřeboval bych vypisovat některé vlastnosti jiného objektu, které mají v názvu přímo i klíč z procházeného pole... následující mi ale, jak píšu, nefunguje - undef. var.

<?= @${'$this->validation->' . $key . '_error'}; ?>


zkoušel jsem to napsat i trochu kostrbatěji:

$error = '$this->validation->' . $key . '_error';

a pak

<?= @$$error ?>

že mám třeba chybu v zápise, ale vysledek stejny.


Prosím jak na to? dá se to nějak elegantně vyřešit?
Děkuji
souki
Profil
dal bych pryč $ z $this
mosba
Profil
diky, bohužel to ale nemá vliv:

Severity: Notice
Message: Undefined variable: this->validation->pic_x_error

případně původně:
Message: Undefined variable: $this->validation->pic_x_error

mužu to sice cele udelat trochu jinak a to pole rozepsat, stejne se jeho prvky nebudou menit, ale moc rad bych vedel jak tohle vyresit. snad mi jen neco nedochazi nebo neco proste nevim. bohuzel nevim, kam se kouknout.
Poradi nejaky guru?
mosba
Profil
jo, tak už to mam:

http://uk2.php.net/language.variables.variable

---------------
Warning

Please note that variable variables cannot be used with PHP's Superglobal arrays within functions or class methods.
----------------

skoda
mosba
Profil
tak nevim, ted mi funguje toto:

<?= @$this->validation->{$key . '_error'}; ?>

přitom bych dal ruku do ohne, ze to byl prvni, co jsem zkousel. no asi nebylo...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: