Avatar billede tefcke Nybegynder
12. marts 2003 - 13:56 Der er 11 kommentarer og
1 løsning

Få navnet på en variabel

Jeg sidder og skal bruge en metode/funktion til at få navnet på en variabel udskrevet til skærmen, frem for værdien af variablen.

Ex.
$foo = "bar";

# Det jeg så vil have skrevet ud er enten 'foo' eller '$foo'.

Nogen som lige kunne hjælpe mig?
Avatar billede peleiden Nybegynder
12. marts 2003 - 14:01 #1
ikke helt sikker på hvad du mener:

echo "\$foo";
Avatar billede Slettet bruger
12. marts 2003 - 14:03 #2
peleiden> Det er jo indholdet af den.. han vil ha navnet på variablen
Avatar billede peleiden Nybegynder
12. marts 2003 - 14:06 #3
echo "\$foo"; vil udskrive

$foo

på skærmen

echo $foo; vil udskrive

bar

på skærmen
Avatar billede tangveje Nybegynder
12. marts 2003 - 14:07 #4
Eller

echo '$foo' ;

Skulle også virke... Læg mærke til at der er brugt ' og ikke "
Avatar billede Slettet bruger
12. marts 2003 - 14:08 #5
jeg fatter det ikke.. er det \ der gør det?
Avatar billede Slettet bruger
12. marts 2003 - 14:10 #6
ja det er det sgu :) har lige testet..
Avatar billede peleiden Nybegynder
12. marts 2003 - 14:10 #7
;-)
Avatar billede sone Nybegynder
12. marts 2003 - 15:03 #8
tefcke: Jeg er med på hvad du mener. Jeg har selv ledt efter det, men har opgivet det = har ikke fundet det
Avatar billede Slettet bruger
12. marts 2003 - 15:21 #9
sone> Det første som peleiden skriver er svaret, for det virker...
Avatar billede tefcke Nybegynder
12. marts 2003 - 17:40 #10
Jeg var klar over at man kunne escape $ med \

Jeg var også klar ovar at variabler ikke bliver evalueret i enkelte anførelses tegn.


Her kommer sammenhænget hvor i jeg skal bruge dette:
//////////////////////////////
//////////////////////////////
<?php

$foo = array("bar", 42);

function dumpVar($dump_type, $variable)
{
  print("<div align='left'><pre>");
  switch ( $dump_type )
  {
    case (strtolower($dump_type) == "var"):
        print("Var-dump for: $variable\n");
        var_dump($variable);
        break;
    case (strtolower($dump_type) == "export"):
        print("Var-dump for: $variable\n");
        var_export($variable);
        break;
    case (strtolower($dump_type) == "print"):
        print("Var-dump for: $variable\n");
        print_r($variable);
        break;
    default:
        print("Unknown dump type");
  }
}


dumpVar("print", $foo);
/* -- Skriver klart ikke navnet på variablen ud, da den ikke er den nye
  -- funktions scope!
  -- Den får tilgængæld dump variablen rigtigt nok!
Var-dump for: Array
Array
(
    [0] => bar
    [1] => 42
)
*/

dumpVar("print", '$foo');
/* -- Skriver rigtigt nok navnet på variablen ud, men dumpet er forkert
  -- da den oprindelige variabel nu er af typen string!
Var-dump for: $foo
$foo
*/

dumpVar("print", "\$foo");
/* -- Skriver rigtigt nok navnet på variablen ud, men dumpet er forkert
  -- da den oprindelige variabel nu er af typen string!
Var-dump for: $foo
$foo
*/

?>
Avatar billede tefcke Nybegynder
12. marts 2003 - 17:54 #11
jeg er klar over at jeg kan smide et 3. argumnt med i funktions kaldet feks. /* dumpVar("print", $foo, '$foo'); */, men det er ligesom ikke hensigten med denne funktion :)
Avatar billede tefcke Nybegynder
17. marts 2003 - 03:00 #12
lukker spørgsmålet, da jeg ikke mener der er nogen løsning på problmet :/
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