Dieter Raber: Namen einer Variablen rausfinden

Hallo,

Wenn ich eine Variable $foo = 'bar' habe, kann ich mit 'bar' natürlich alles Mögliche veranstalten. Wie aber finde ich den Namen der Variablen raus, mit anderen Worten, gibt es eine Funktion, die den String '$foo' oder 'foo' zurückgibt?

Ich hab so das dumpfe Gefühl, ich sollte die Antwort selbst wissen, aber mir will nichts Passendes einfallen.

Dieter

  1. Holladiewaldfee,

    Ich hab so das dumpfe Gefühl, ich sollte die Antwort selbst wissen, aber mir will nichts Passendes einfallen.

    nur so interessehalber nachgefragt:
    Wo verwendet man Variablen, von denen man nicht weiß, wie sie heißen, deren Namen man aber herausfinden will, indem man sie nach demselben frägt, wozu man diesen aber bereits wissen müsste?!

    Ciao,

    Harry

    --
      Bald kommt die Waldfee ... (Projektphase: Planung)
      Bis dahin:
      http://harry.ilo.de/projekte/berge/
  2. Hi,

    schreib einfach ein $ davor (also $$foo).

    <?php

    $foo = 'bar';
    echo '$' . $$foo . ' = '' . $foo . '';';

    ?>

    Ausgabe: $foo = 'bar';    //ich hoffe, ich habe mich nicht vertippt ;-)

    Der Sinn dahinter bleibt mir allerdings im Moment noch verborgen, da du ja den Namen kennst, wenn du ihn hinschreibst ...

    eb4

  3. Hello,

    Wenn ich eine Variable $foo = 'bar' habe, kann ich mit 'bar' natürlich alles Mögliche veranstalten. Wie aber finde ich den Namen der Variablen raus, mit anderen Worten, gibt es eine Funktion, die den String '$foo' oder 'foo' zurückgibt?

    Ja. PHP stellt eine Funktion zur Verfügung, mit der man alle definierten Variablen des Scriptes ermitteln kann: http://de.php.net/manual/de/function.get-defined-vars.php

    Dieses Array kann man dann nach dem Wert durchsuchen lassen mit
    http://de.php.net/manual/de/function.array-search.php

    also ist der Name der gesuchten Variablen:

    $name = array_search('bar',get_defined_vars());

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
  4. Vielen Dank an alle!

    Dieter