indahla Skrevet 13. februar 2004 Del Skrevet 13. februar 2004 (endret) Et litt tricky problem. Jeg har tre variabler som heter $tot1, $tot2 og $tot3. I en for-løkke som ser slik ut: for ($i=1; $<4; $i++) { ...code... } vil jeg hente ut innholdet i en variabel pr "runde" i for-løkken. Altså, jeg vil skrive noe slikt som dette inni løkken: echo $tot{$i} for å referere til $tot1 i første runde, $tot2 i andre runde og $tot3 i tredje runde. Skjønner...? Litt vanskelig å forklare det der.. Håper noen kan hjelpe. Endret 13. februar 2004 av cerveza Lenke til kommentar
b-urn Skrevet 14. februar 2004 Del Skrevet 14. februar 2004 (endret) Hmm.. høres ut som et array-problem. Bruker du arrays kan du løse det på følgende måte: //Alternativ 1 $int_Tot = Array(10,100,1000); for($i=1;$i<=count($int_Tot);$i++) { echo($int_Tot[$i-1] . "<br>"); } Hvis du derimot er helt avhengig av å bruke de navngitte variablene i løkken, vil noe slikt fungere: //Alternativ 2 $tot1 = 10; $tot2 = 100; $tot3 = 1000; for($i=1;$i<4;$i++) { $strVarname = "tot$i"; echo($$strVarname . "<br>"); } Endret 14. februar 2004 av b-urn Lenke til kommentar
sven-o Skrevet 14. februar 2004 Del Skrevet 14. februar 2004 (endret) Alternativ 3: $tall1 er det samme som å skrive ${'tall1'} På den måten kan du gjøre løkken slik: $tot1 = 10; $tot2 = 100; $tot3 = 1000; for($i=1;$i<4;$i++) { echo ${'tot'.$i}."<br>"; } EDIT: Alternativ 4: eval() kan brukes til å "evaluere" en streng til kode, og utføre den: $tot1 = 10; $tot2 = 100; $tot3 = 1000; for($i=1;$i<4;$i++) { eval("echo \$tot".$i." .'<br>';"); } Ubrukelig i dette tilfellet, men kan være nyttig i andre sammenhenger. Anse dette som en demonstrasjon, og ikke bruk det... Endret 14. februar 2004 av sven-o Lenke til kommentar
indahla Skrevet 17. februar 2004 Forfatter Del Skrevet 17. februar 2004 Alternativ 3:$tall1 er det samme som å skrive ${'tall1'} På den måten kan du gjøre løkken slik: $tot1 = 10; $tot2 = 100; $tot3 = 1000; for($i=1;$i<4;$i++) { echo ${'tot'.$i}."<br>"; } EDIT: Alternativ 4: eval() kan brukes til å "evaluere" en streng til kode, og utføre den: $tot1 = 10; $tot2 = 100; $tot3 = 1000; for($i=1;$i<4;$i++) { eval("echo \$tot".$i." .'<br>';"); } Ubrukelig i dette tilfellet, men kan være nyttig i andre sammenhenger. Anse dette som en demonstrasjon, og ikke bruk det... Alternativ 3 funker glimrende thx Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå