Avatar billede dcheng Novice
09. december 2006 - 14:06 Der er 5 kommentarer og
1 løsning

Sætte variable navn med en variable

Jeg vil gerne oprette en variable ved brug af værdien fra en anden variable

fx.
$var = "data"; // $var indeholder strengen "data"
$info = "Jeg er god"; // $info indeholder strengen "Jeg er god"

Jeg vil nu gerne have at der bliver opterret en variable med navn
$data som indeholder strengen "Jeg er god"

Jeg ved det er noget med $$ men det er bare helt væk.....

Nogle der ved det?
Avatar billede erikjacobsen Ekspert
09. december 2006 - 14:19 #1
1) Du bør ikke gøre det, selv om du kan. Det kan give en meget forvirret kode, og potentielle fejl, der er svære at finde. Brug et array  $navne[$var]="Jeg er god";

2)  $$var = $info;  print $data;
Avatar billede dcheng Novice
09. december 2006 - 14:29 #2
Jeg tror du har ret i det, men da det er en function som det bruges i så er det ok for mig.

Men jeg kan ikke lige hitte ud af hvorfor min kode mælder fejl:
--- fejl ---
Notice: Undefined variable: test in C:\Program Files\Apache Group\Apache2\htdocs\mysql_test.php on line 8
--- fejl slut ---

--- kode ---
<?
function Execute($v1,$v2)
{
    $$v1 = $v2;
}
Execute("test","værdi");
echo $test;
?>
--- kode slut ---
Avatar billede dcheng Novice
09. december 2006 - 14:30 #3
Den burde jo printe "værdi"
Avatar billede erikjacobsen Ekspert
09. december 2006 - 14:33 #4
Nej - variabler du opretter inde i en funktion findes ikke udenfor. Drop det nu - og gør det or'nli't  ;)
Avatar billede dcheng Novice
09. december 2006 - 15:05 #5
<?
function Execute($v1,$v2)
{
    global $$v1;
    $$v1 = $v2;
}
Execute("test","værdi");
echo $test;
?>

:)
Avatar billede dcheng Novice
09. december 2006 - 15:05 #6
Så virker det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester