php: Hur man får variabelvärdet att blir variabelnamnet

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Oregistrerad
  • 2005-05-15 05:43

Hejsan!

php problem -->

Sitter och arbetar runt ett problem. Jag vill att värdet på en variabel blir en ny variabel. Har sett detta innan men tyckte då att jag inte hade användning av det :rolleyes: Nödlösning är att fixa det med $_GET[$var]

Hoppas att någon här innehar denna kunskapen.

  • Medlem
  • Höganäs
  • 2005-05-15 10:09
Ursprungligen av Per-Olof R.:

Hejsan!

php problem -->

Sitter och arbetar runt ett problem. Jag vill att värdet på en variabel blir en ny variabel. Har sett detta innan men tyckte då att jag inte hade användning av det :rolleyes: Nödlösning är att fixa det med $_GET[$var]

Hoppas att någon här innehar denna kunskapen.

Är inte säker på att jag förstår vad du menar, men:

$var1 = "nnnnn";
$var2 = $var1;

???

  • Medlem
  • Danderyd
  • 2005-05-15 10:28

Om jag förstår dig rätt vill du att värdet på t.ex. $var ska bli namnet på en ny variabel. Rätt?

I så fall tror jag följande borde fungera efter lite letande på PHP.net:

$var = "test";
${$var} = "Meddelande"; /* eventuellt situationstecken runt $var */
print $test; /* borde då skriva ut "Meddelande" */

/K

Senast redigerat 2005-05-15 11:04
  • Medlem
  • Gävle
  • 2005-05-15 14:14

Ovanstående exempel fungerar, men det känns som att det är lite baklänges.

$nisse = "hej säger nisse".
$var1 = "nisse";
print $$var1;

Ovanstående kod ger utskriften "hej säger nisse".

  • Oregistrerad
  • 2005-05-15 14:47
Ursprungligen av Krypto:

Om jag förstår dig rätt vill du att värdet på t.ex. $var ska bli namnet på en ny variabel. Rätt?

I så fall tror jag följande borde fungera efter lite letande på PHP.net:

$var = "test";
${$var} = "Meddelande"; /* eventuellt situationstecken runt $var */
print $test; /* borde då skriva ut "Meddelande" */

/K

Jo det där är korrekt och ska fungera. Du kan även använda arrays:

${$foo[0]} = "bar";

  • Oregistrerad
  • 2005-05-15 16:55
Ursprungligen av Krypto:

Om jag förstår dig rätt vill du att värdet på t.ex. $var ska bli namnet på en ny variabel. Rätt?

I så fall tror jag följande borde fungera efter lite letande på PHP.net:

$var = "test";
${$var} = "Meddelande"; /* eventuellt situationstecken runt $var */
print $test; /* borde då skriva ut "Meddelande" */

/K

Det var detta jag var på jakt efter. Visste inte vad jag skulle söka efter så jag hittade aldrig något på php.net eller google

Det som studiox beskrev var matnyttigt också.

Tack tack

1
Bevaka tråden