PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Variable in Variable? (http://www.selfphp.de/forum/showthread.php?t=11000)

Giz 20.07.2005 00:03:27

Variable in Variable?
 
Ich suche und suche, kann aber nix finden.

Vereinfacht versuche ich folgendes :

Angenommen ich habe eine Variable
PHP-Code:

$x="var"

Wie kann ich nun z.B. der Variable $y den Inhalt der Variable $var zuweisen ohne zu wissen, wie die Variable $var heißt (ich kenne ja nur $x) ?

Wär super, wenn mich da jemand auf den richtigen Weg bringen könnte. Ich brauche es, weil ich Formulare anhand von csv-Dateien automatisch erstelle und bei fehleingaben die bereits eingegebenen Daten im Formular bereits eingetragen haben will.

feuervogel 20.07.2005 02:03:13

AW: Variable in Variable?
 
$y = $$x;

edit: wow, endlich mal jemand, der die gestaltungsmöglichkeiten wirklich ausnutzt!

Giz 21.07.2005 19:32:55

AW: Variable in Variable?
 
Hey, war ja einfach. Danke!!
Ich hatte das vorher schon probiert, aber es ging nicht. Nun habe ich es nochmal probiert und rausbekommen warum : Ich habe die Tabellenerzeugung in Form einer FUNCTION gestaltet und hier sind die Daten nicht vorhanden. Kann ich die irgendwie ohne großen Aufwand reinbekommen oder sollte ich auf die Funktion verzichten?

Zitat:

Zitat von feuervogel
edit: wow, endlich mal jemand, der die gestaltungsmöglichkeiten wirklich ausnutzt!

Wie soll ich das verstehen?

feuervogel 21.07.2005 19:51:30

AW: Variable in Variable?
 
du sollst es verstehen, wie es gemeint war. noch keine 10 beiträge und schon unterstreichen, fett markieren und code einfärben. das schaffen manche nicht mit 100 beiträgen.

öhm, also daten von außen in eine funktion reinpacken ist so ne sache: entweder man holt sie via global rein oder man übergibt sie (letzteres ist definitiv die feinere art, global ist arg unsauber)

Giz 21.07.2005 20:16:01

AW: Variable in Variable?
 
Achso. Na man tut was man kann. Der Editor hilft doch ganz gut.

Habe das Problem eben mit GLOBAL gelöst. Übergeben wäre wohl etwas zu umständlich gewesen.

Warum ist diese Lösung so unsauber? Bleibt die Variable nicht nur für den einen Aufruf "Global" ? Dann behalte ich doch den Überblick, denke ich.

Oder soll/kann man das Globale wieder löschen?

feuervogel 21.07.2005 21:52:57

AW: Variable in Variable?
 
zur genauen funktionsweise von global:

http://www.php.net/global

ich kenn mich damit nicht wirklich aus.

die sache ist ja, du holst dir variablen von außerhalb der funktion. eine funktion ist aber für mich wie ein kaugummiautomat. ich schmeiße oben ne münze rein => unten kommt der kaugummi raus. ich kenne von der funktion die übergabewerte und den rückgabewert und das reicht mir, mir ist vollkommen egal, wie ich die benenne oder wie die funktion an sich funktioniert, ich kann sie in meinem projekt bedenkenlos an 100 stellen einsetzen und in 1000 weiteren projekten an 10.000 stellen. schön nicht?

und deine funktion?

ich muss mich immer wieder dran erinnern, wie diese komischen variablen hießen, die du da drin benutzt, sie vorher nicht nur definieren (ich vergesse sowas schnell und muss daher immer wieder in deine funktion reinschauen), sondern ich muss sie auch genau so nennen. nun heißen bei mir aber schon 2 variablen so wie deine globalen. mist, muss ich sie umbennen. wenn ich aber englische namenskonvention lieber mag und die deutsche vorziehst...usw usf...das ganze wird einfach sehr sehr unsauber.

Giz 22.07.2005 00:08:04

AW: Variable in Variable?
 
Ich glaube ich habe verstanden, was Du meinst.

Aber meine Funktion erstellt ja aus einer csv-Datei Formulareingabefelder. Die Namen dieser Eingabefelder werden ebenfalls in der CSV-Datei festgelegt. D.h. sie werden auch erst in der Funktion festgelegt. Bei Fehleingabe (z.B. ungültiges Datum, fehlende Daten) wird die selbe Funktion erneut aufgerufen und soll das selbe Formular erneut anzeigen. Nur diesmal sollen die bereits eingegebenen Daten vorgegeben sein.

D.h. ich benutze ja dieselben Variablen.

Äh, verstanden, was ich sagen wollte? Ich denke in diesem Fall ist das in Ordnung, dass die verwendeten Variablen weiter benutzt werden.

Danke für Deine Hilfe!!

xabbuh 22.07.2005 10:08:27

AW: Variable in Variable?
 
Dann brauchst du allerdings nicht mit global zu arbeiten, da die Formulardaten nach dem Versenden in dem superglobalen Array $_GET bzw. $_POST (je nach Art des Formulars) stehen.

Giz 22.07.2005 11:20:46

AW: Variable in Variable?
 
Zitat:

Zitat von xabbuh
Dann brauchst du allerdings nicht mit global zu arbeiten, da die Formulardaten nach dem Versenden in dem superglobalen Array $_GET bzw. $_POST (je nach Art des Formulars) stehen.

Klingt logisch. Aber wie ist dann die korrekte Verwendungsweise im Fall :
PHP-Code:

$y = $$x


feuervogel 22.07.2005 11:58:37

AW: Variable in Variable?
 
ich hab zwar nicht kapiert, was du meinst, aber

$y = $_POST[ "$x" ];


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:20:05 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.