/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
variabler i variabler - hvordan ?
Fra : Brian


Dato : 20-08-02 07:53

Hej. Et simpelt spørgsmål:

Jeg får 15 viarabler (svar1..svar15)
Dem vil jeg løbe igennem med en simpel for lykke:

for ($i = 1; $i <= 15; $i ++) {
echo "Du har svaret ".$svar$i." på spørgsmål ".$i."<br>";
}

Men den sætter bare $i ind som $svar$i. Det er helt sikkert mig der har
misforstået et eller andet, men hvad ?

/brian

 
 
Emil Rasmussen (20-08-2002)
Kommentar
Fra : Emil Rasmussen


Dato : 20-08-02 08:22

Hej

> for ($i = 1; $i <= 15; $i ++) {
> echo "Du har svaret ".$svar$i." på spørgsmål ".$i."<br>";
> }
>
> Men den sætter bare $i ind som $svar$i. Det er helt sikkert mig der har
> misforstået et eller andet, men hvad ?

Jeg tror det du eftersprøge er "Variable variables"
<http://dk.php.net/manual/en/language.variables.variable.php>

Prøv med:
$svarTmp = $svar . $i;
echo "Du har svaret ". $$svarTmp ." på spørgsmål ". $i ."<br>";

(ikke testet)

Mvh Emil

--
Emil Rasmussen
http://noget.net



Brian (20-08-2002)
Kommentar
Fra : Brian


Dato : 20-08-02 09:03

> Jeg tror det du eftersprøge er "Variable variables"
> <http://dk.php.net/manual/en/language.variables.variable.php>
>
> Prøv med:
> $svarTmp = $svar . $i;
> echo "Du har svaret ". $$svarTmp ." på spørgsmål ". $i ."<br>";
>
> (ikke testet)
>
> Mvh Emil
>
> --
> Emil Rasmussen
> http://noget.net

Hej Emil

Nej, det er ikke variable variables.

Det jeg skal bruge er en måde at tælle mig igennem de eksisterende
variabler. Men tak aligevel... :)

/brian


Robert Piil (20-08-2002)
Kommentar
Fra : Robert Piil


Dato : 20-08-02 09:11

On Tue, 20 Aug 2002 10:03:11 +0200, "Brian" <spamme@it-bakken.dk>
wrote:

>Det jeg skal bruge er en måde at tælle mig igennem de eksisterende
>variabler. Men tak aligevel... :)

Er dine svar i et array?

for ($i = 1; $i <= 15; $i ++) {
echo "Du har svaret ".$svar[$i]." på spørgsmål ".$i."<br>";
}


--
Robert Piil
http://piil.org

Andreas Kleist Svend~ (20-08-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 20-08-02 09:45

Brian wrote:

> Nej, det er ikke variable variables.

Det synes jeg nu det ligner.

> Det jeg skal bruge er en måde at tælle mig igennem de eksisterende
> variabler. Men tak aligevel... :)

for ($i=1; isset(${'svar'.$i)); $i++) {
echo ${'svar'.$i};
}

Men samme problem kunne løses meget pænere med arrays. Jeg regner med at du
får dine variable fra en form. Hvis du ændre 'name' fra svar1, svar2 etc.
til svar[] kan du i stedet løbe dem igennem på følgende måde:

foreach ($svar as $text) {
echo $text;
}

--
mvh Andreas Kleist Svendsen


Larz (20-08-2002)
Kommentar
Fra : Larz


Dato : 20-08-02 09:53

Brian wrote:
> Jeg får 15 viarabler (svar1..svar15)
> Dem vil jeg løbe igennem med en simpel for lykke:
>
> for ($i = 1; $i <= 15; $i ++) {
> echo "Du har svaret ".$svar$i." på spørgsmål ".$i."<br>";
> }
>
> Men den sætter bare $i ind som $svar$i. Det er helt sikkert mig der har
> misforstået et eller andet, men hvad ?

for ($i = 1; $i <= 15; $i ++) {
   $svaret = "svar$i";
   echo "Du har svaret ".$$svaret." på spørgsmål ".$i."<br>";
}

Men brug hellere arrays


--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Ukendt (20-08-2002)
Kommentar
Fra : Ukendt


Dato : 20-08-02 21:22

>
> Jeg får 15 viarabler (svar1..svar15)
> Dem vil jeg løbe igennem med en simpel for lykke:
>

Hvis du får dataene fra en form, som er postet, så prøv med:

for ($i = 1; $i <= 15; $i++) {
echo "Du har svaret " . $_POST["svar" . $i] . " på spørgsmål " . $i .
"<br>";
}

/Thomas



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste