Autor | Zpráva | ||
---|---|---|---|
korny Profil * |
#1 · Zasláno: 30. 12. 2011, 23:58:15
mam $string = 'this->session->tmp[neco][krok1][ppp][2]'; $data = 'blaf'; a chci do $this->session>tmp[neco][krok1][ppp][2] = 'blaf'; nevim jak prevest string na nazev mutlidim. pole. tohle mi nejde Citovat: ${$string} = $data; diky predem za napady |
||
Majkl578 Profil |
#2 · Zasláno: 31. 12. 2011, 02:42:01
Jinak než přes eval to nejde. Řešení je to otřesné a špatné - udělej to jinak.
|
||
korny Profil * |
#3 · Zasláno: 31. 12. 2011, 03:22:08
a jak?
potrebuju online zaznamenavat obsah ve formularich a chvi to mit nejak rozumne usporadany v session.abych mohl napr smazat vse z kroku 1 <input name="formular[krok1][jmeno]"> tedy do session chci ulozit klice [formular][krok1][jmeno] mozna nejak pres referenci pridavat klic..ale jak? |
||
korny Profil * |
#4 · Zasláno: 31. 12. 2011, 11:15:09
tak jsem nasel tohle [quote] function setValueFromPath(&$arr, $path, $value = 'pokusnyVALUE'){ // we need references as we will modify the first parameter $dest = &$arr; $finalKey = array_pop($path); foreach ($path as $key) { $dest = &$dest[$key]; } $dest[$finalKey] = $value; } $myVarPath = array('my1', 'my11', 'my111'); setValueFromPath($this->session->tmp, $myVarPath); [/quote] pokud bych nazev pole nedal "$this->session->tmp" ,ale normalni pole tak to jde...problem je asi u predani reference u objektu..co s tim :-( |
||
korny Profil * |
#5 · Zasláno: 31. 12. 2011, 13:50:51
tak jsem to nakonec vyresil takhle (ale dalo to zabrat) public function savesessiontmp($path, $data) { $dest = &$this->session->tmp; $finalKey = array_pop ( $path ); foreach ( $path as $key ) { $dest = &$dest [$key]; } $dest [$finalKey] = $data; } $this->savesessiontmp($path, $data); snad to nekomu bude k prospechu |
||
Časová prodleva: 12 let
|
0