Autor | Zpráva | ||
---|---|---|---|
Pavel Dumbrovský Profil |
#1 · Zasláno: 3. 1. 2011, 01:12:50 · Upravil/a: Pavel Dumbrovský
Dobrý den,
Chamurappi mě asi prokleje, protože už jsem tady s něčím podobným otravoval, http://diskuse.jakpsatweb.cz/?action=vthread&forum=8&topic=118806&page=-1 ale prostě to sám nedám dohromady. Potřebuji (asi pro někoho) jednoduchou věc: Do proměnné vložit pole, přičemž jeho název bude také proměnlivý. Mám pole pole1, pole2, pole3, pole4, atd. a podle podmínky potřebuji do proměnné pole uložit pole.aktuální číslo. Ale jak to zapsat, to nevím. Něco jako: $pole=$jinepole".$x." Tak děkuju za pomoc! |
||
Keeehi Profil |
#2 · Zasláno: 3. 1. 2011, 01:34:06 · Upravil/a: Keeehi
Rozhodně by to šlo pomocí eval. Ale je to nehezké.
var pole1=3; var x=1; eval("alert(pole"+x+")"); |
||
imploder Profil |
#3 · Zasláno: 3. 1. 2011, 01:57:23 · Upravil/a: imploder
EDIT: aha, tak jsem si spletl sekci. to níže je pro PHP.
Pavel Dumbrovský: $nazev_pole = 'pole'.$x; $pole = $$nazev_pole; Chtěl jsem napsat, že je to ale takové nečisté, špatné... ale nenapadá mě, k čemu špatnému konkrétně by to mohlo vést oproti normálnímu indexování. Takže asi se to prostě akorát obvykle nedělá. |
||
_es Profil |
#4 · Zasláno: 3. 1. 2011, 07:08:15
Pavel Dumbrovský:
Prečo spomínaš Chamurappiho, ktorý v PHP neprogramuje a dávaš to do sekcie JS? Ak má ísť o JS, tak to popíš trochu zrozumiteľnejšie. |
||
Pavel Dumbrovský Profil |
#5 · Zasláno: 3. 1. 2011, 09:29:59 · Upravil/a: Pavel Dumbrovský
Ale né, má to být v JS. Asi jsem to nenepsal úplně srozumitelně..
Chci něco jako je: $pole=$jinepole".$x." v php ale chci to v JS. :) Omlouvám se, že jsem to předtím nenapsal jasněji. Srozumitelněji vysvětlit co chci už ale asi nedovedu. Jak jsem říkal, mám neznámý počet polí s názvy pole1, pole2, pole3 atd. A dle podmínky potřebuji přiřadit do var pole=pole"x"; , kde x bude právě číslo od 1 do X, kde X je počet neznámých polí. Zkrátka z těch všech polí potřebuji vybrat právě jedno aktuální podle čísla x, čili podle posledního znaku (více znaků) v názvu pole. Příklad: Mám naplněná pole pole1, pole2, pole3, pole4. Proměnná x je 3, takže musím použít pole3. Jak? |
||
Chamurappi Profil |
#6 · Zasláno: 3. 1. 2011, 09:31:05
Reaguji na Pavla Dumbrovského:
„mám neznámý počet polí s názvy pole1, pole2, pole3 atd.“ Proč nejsou v poli? |
||
Pavel Dumbrovský Profil |
#7 · Zasláno: 3. 1. 2011, 09:58:15
Chamurappi:
Nejspíš proto, že ještě včera jsem o polích v JS nevěděl skoro nic. Když to naplňuju takto: var podkategorie1 = new Array(); podkategorie1[0] =new Array(); podkategorie1[0][0]=["1"]; podkategorie1[0][1]=["text"]; podkategorie1[0][2]=["1"]; podkategorie1[1] =new Array(); tak to mi jde, ale jakmile to teda chci dát do pole, jak říkáte, : var podkategorie = new Array(); var podkategorie [0] = new Array(); var podkategorie[1] = new Array(); podkategorie[1][0] =new Array(); podkategorie[1][0][0]=["1"]; podkategorie[1][0][1]=["test"]; podkategorie[1][0][2]=["1"]; podkategorie[1][1] =new Array(); tak mi to háže chybu, že byl očekáván znak ; |
||
Chamurappi Profil |
#8 · Zasláno: 3. 1. 2011, 10:24:41
Reaguji na Pavla Dumbrovského:
Stačí si porovnat ty dva kódy, ne? Před přiřazením do prvku pole se nepíše var .
„podkategorie1[0][0]=["1"];“ Nevím, jestli si to uvědomuješ, ale tady nepřiřazuješ řetězec "1" , ale pole s jednou položkou, v níž je řetězec "1" .
|
||
Pavel Dumbrovský Profil |
#9 · Zasláno: 3. 1. 2011, 12:34:03
Aha, tak to s tím var jsem nevěděl, jinak s tím polem máte pravdu, to je chyba způsobená tím, že to přiřazuji skrz php a je tam tuna znaků, mám v tom guláš. Takže problém vyřešen, už mi to jede, jen pro zajímavost, to přiřazení jak jsem zprvu požadovat je možné, nebo ne?
|
||
_es Profil |
#10 · Zasláno: 3. 1. 2011, 12:49:47
Pavel Dumbrovský:
„jen pro zajímavost, to přiřazení jak jsem zprvu požadovat je možné, nebo ne?“ Asi nie je dobré ti na to odpovedať.:-) |
||
Pavel Dumbrovský Profil |
#11 · Zasláno: 3. 1. 2011, 13:52:24
_es:
Neodpustím si dotaz: Nesloužil vy jste na Hololodi? :) |
||
Witiko Profil |
#12 · Zasláno: 3. 1. 2011, 16:42:54
Pavel Dumbrovský:
> Chci něco jako je: > 1 > $pole=$jinepole".$x." Nechci být přehnaně chytrý, ale takový zápis mi nedává smysl ani v php. Ty uvozovky zde ohraničují jaký řetězec? Nepracuji s php, pokud nemusím, ale tuším, že kdyby Tvá představa syntaxe byla správná, fungoval by mi tento kód: <? $jinepole1 = "Ahoj světe"; $x = "1"; echo $jinepole".$x."; ?> |
||
Keeehi Profil |
#13 · Zasláno: 3. 1. 2011, 16:46:56 · Upravil/a: Keeehi
Witiko:
V php má na mysli toto: <?php $jinepole1 = "Ahoj světe"; $x = 1; echo ${"jinepole".$x}; ?> |
||
Chamurappi Profil |
#14 · Zasláno: 3. 1. 2011, 16:55:15
|
||
Witiko Profil |
#15 · Zasláno: 3. 1. 2011, 16:56:02 · Upravil/a: Witiko
Keeehi:
U globální proměnné pomocí window["jinepole" + x] u neglobální pomocí pole? Nevidím důvod proč takto znásilňovat jmenný prostor. :) |
||
Pavel Dumbrovský Profil |
#16 · Zasláno: 3. 1. 2011, 17:26:35
Chamurappi:
Nebudu, donutil jste mě se "naučit" s polem, takže nebude potřeba. Díky. :) |
||
Časová prodleva: 14 let
|
0