Autor Zpráva
mke1y
Profil *
Mám několik proměnných pro jednu hodnotu, např.: promenna1 = 400, promenna2 = 400 .....
Takových případů mám několik desítek, proto bych potřeboval nějaké řešení(nejlépe kdyby šlo v poli použít několik klíčů pro jednu hodnotu). Taky by to šlo pomocí objektů, ale to je zbytečně paměťově náročné. Jak byste to řešili vy?
nightfish
Profil
mke1y:
nejlépe kdyby šlo v poli použít několik klíčů pro jednu hodnotu
to jde
$pole = array(1 => 400, 2 => 200, 3 => 400, 4=>120, 5 => 120);
mke1y
Profil *
jo tohle je mi jasný, jde mi třeba o tohle: array( 1,2,3,4,5... => 400 ), což už nejde. Prostě těch hodnot tam mám dost a chtěl bych to nějak elegantně vyřešit. Takhle když budu potřebovat něco změnit, tak to budu muset udělat Xkrát.
Joker
Profil
mke1y:
Tak jde to zřetězit a využít asociativity přiřazení:
$pole[1] = $pole[2] = $pole[3] = $pole[4] = $pole[5] = 400;

Kdyby těch hodnot bylo opravdu hodně, třeba 100, tak asi cyklus...
for($i=1; $i<=100; $i++) $pole[$i] = 400;
Kajman_
Profil *
Nebo si udělat pole hodnot a odkazovat se indexem do něj.
$hodnoty  = array(0 => 400, 1 => 200, 2=>120);
$pole = array(1 => 0, 2 => 1, 3 => 0, 4=>2, 5 => 2);
mke1y
Profil *
$pole[1] = $pole[2] = $pole[3] = $pole[4] = $pole[5] = 400;
Jak mám tohle zapsat do definici třídy. Třída mi tohle nepovolí.
Joker
Profil
mke1y:
Třída mi tohle nepovolí.
Co přesně chcete udělat?
mke1y
Profil *
chci to dát jako private property k třídě.
Joker
Profil
mke1y:
Tak jestli to není statický atribut, jde nastavit hodnoty v konstruktoru.
mke1y
Profil *
To jde i u statickýho, jen mě zajímalo jestli to nejde přímo v class.
Joker
Profil
mke1y:
To jde i u statickýho
No... jde, ale nemá to smysl, když se statickým atributem se pracuje aniž bych měl instanci té třídy a tedy se zavolal konstruktor.

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:

0