phpbar.de logo

Mailinglisten-Archive

[php] Namen einer Variablen ausgeben

[php] Namen einer Variablen ausgeben

Lutz Zetzsche php-liste at vonnies.de
Mit Nov 19 16:48:28 CET 2003


Hi Matthias,

Zitat von Matthias Zoellner <m.zoellner at makz.de>:

> Aber zum Debuggen wärs z.B. schön einfach. Angenommen(!!!) so wie $$foo
> var var ist gäbe &foo den Namen foo zurück:
>
> 	$foo = 'Hello';
> 	echo "&foo  $foo";
>
> 	Ausgabe: foo = Hello

ich habe jetzt mal gruendlich ueberlegt und im Handbuch gelesen. In Faellen, wo
Du keine Moeglichkeit hast, mit der Variable $$foo auch das $foo und damit im
Prinzip den Variablennamen (z.B. in Schleifendurchlaeufen) mitzuschleppen,
boete sich folgende Loesung an:

Fuer dynamisch erzeugte Variablen verwendest Du einen Array. D.h. Du verwendest
anstatt $$foo dann etwas wie $dynVar[$foo]. Nun koenntest Du mit der Funktion

    mixed array_search ( mixed needle, array haystack [, bool strict])
    (http://de2.php.net/manual/de/function.array-search.php)

mit dem Wert des Array-Elements den Schluessel des Elements abfragen. Dieser
Loesungsansatz funktioniert allerdings nur und sollte auch nur verwendet
werden, wenn Du Dir sicher sein kannst, dass der Wert in dem Array auch nur
einmal vorkommt. Wenn Du den optionalen dritten Parameter "strict" auf true
setzt, duerften z.B. sowohl 3 als auch '3' als Werte vorkommen, ohne dass es
Probleme gaebe.

> Bitte, macht jetzt keinen langen Thread daraus. Wenn es keine
> Möglichkeit gibt - OK!

Ich habe nur diese eine gefunden. Was haeltst Du von dem Ansatz?


Viele Gruesse

Lutz

php::bar PHP Wiki   -   Listenarchive