Forum Doku Wiki Blog

Forumsarchiv 2005, November
variable Variablennamen

archivierte Beiträge lesen

  1. (PHP) variable Variablennamen von dey, 24. 11. 2005, 10:05

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:05 Uhr von dey veröffentlicht.

Hallo,

ich glaube irgendwo gesehen zu haben, dass man auch variable Variablennamen durch concatinieren erzeugen kann

$select_date = array ('dd' => 31,'mm' => 12, 'yy' => 10);
$temp_.$select_date['dd']
ergibt $temp_31

Wie funktioniert das?

bydey
--
-- noch immer ein erfolgloser <DIV> Jünger --

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:13 Uhr von wahsaga veröffentlicht.

hi,

> ich glaube irgendwo gesehen zu haben, dass man auch variable Variablennamen durch concatinieren erzeugen kann
>
> $select_date = array ('dd' => 31,'mm' => 12, 'yy' => 10);
> $temp_.$select_date['dd']
> ergibt $temp_31
>
> Wie funktioniert das?

http://www.php.net/manual/de/language.variables.variable.php

Aber überlege dir, ob du sowas wirklich brauchst.
Gerade Einsteiger scheinen oftmals geradezu besessen von dem Gedanken, alles mögliche in "einzelnen Variablen" stehen haben zu wollen - obwohl Arrays oftmals viel komfortabler zu handhaben sind.

gruß,
wahsaga


--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:23 Uhr von Chris veröffentlicht.

Hallo,

> Aber überlege dir, ob du sowas wirklich brauchst.
> Gerade Einsteiger scheinen oftmals geradezu besessen von dem Gedanken, alles mögliche in "einzelnen Variablen" stehen haben zu wollen - obwohl Arrays oftmals viel komfortabler zu handhaben sind.

Genau! Gut dass Du nochmal drauf hingewiesen hast. :-)

"Arrays" in PHP stellen die einzige praktikable Möglichkeit dar, eigene Datenstrukturen festzulegen und zu kontrollieren. Da es sich bei den Arrays in PHP aber in Wirklichkeit um Baumstrukturen handelt, sind sie auch laufzeitdynamisch. Man kann also zur Laufzeit des Scriptes Elemente anhängen, löschen, einfügen, umbenennen, usw.

Man kann die Elemente zählen, Ihre Reihenfolge manipulieren und nach dem Vorhandensein bestimmter Elemente suchen.

Damit stellen diese varianten Strukturen also schon "variable Variablen" dar.


LG
Chris

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:28 Uhr von Chris veröffentlicht.

Hallo,

noch ein Nachtrag.
Erscheint mir die richtige Stelle dafür zu sein, noch auf die Superglobalen Arrays und den Umgang damit hinzuweisen:

Es besteht grundsätzlich keinerlei Anlass dazu, die Arrays $_GET, $_POST, $_COOKIE, usw. im Script erst in "lose" Scriptvariablen umzukopieren oder ein anderes Array daraus zu bilden. Man kann direkt damit arbeiten und auch in diese Arrays hineinschreiben.

Ich weiß, dass Viele diese Arrays als "schreibgeschützt" ansehen.
Solange man aber weiß, wann man was mit welcher Variable macht, ist selten eine Rendundanz notwendig.


LG
Chris

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:34 Uhr von wahsaga veröffentlicht.

hi Chris,

> Es besteht grundsätzlich keinerlei Anlass dazu, die Arrays $_GET, $_POST, $_COOKIE, usw. im Script erst in "lose" Scriptvariablen umzukopieren oder ein anderes Array daraus zu bilden.

Bis hierhin Ack.

> Man kann direkt damit arbeiten und auch in diese Arrays hineinschreiben.

Das halte ich aber für unsauber.
Die Namen dieser Superglobalen bezeichnen schon die Herkunft der Werte - also warum sollte ich ihnen irgendwelche "Kuckuckskinder" unterschieben, die aus anderen Quellen stammen?

> Ich weiß, dass Viele diese Arrays als "schreibgeschützt" ansehen.

Wäre vielleicht sogar besser so.

> Solange man aber weiß, wann man was mit welcher Variable macht, ist selten eine Rendundanz notwendig.

Die Benennung der Superglobalen dient m.E. mit dazu, dieses Bewusstsein, woher bestimmte Werte stammen, aufrechtzuerhalten.
Dies zu unterwandern, halte ich für wenig sinnvoll.

Könntest du Beispiele nennen, wo du das für sinnvoll oder gar erforderlich halten würdest?

gruß,
wahsaga


--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:38 Uhr von wahsaga veröffentlicht.

hi,

> Könntest du Beispiele nennen, wo du das für sinnvoll oder gar erforderlich halten würdest?

Gut, eins fällt mir da gerade selber ein:

Wenn magic_quotes_gpc unglücklicherweise als "on" konfiguriert wäre, könnte ich mir eine Funktion schreiben, die $_GET/$_POST/$_COOKIE durchläuft, alle Inhalte mittels stripslashes() von diesem Unfug befreit - und sie dann wieder unter dem selben Indexnamen in die Arrays zurückschreibt.

gruß,
wahsaga


--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 11:19 Uhr von Chris veröffentlicht.

Hallo Wahsaga,

> Könntest du Beispiele nennen, wo du das für sinnvoll oder gar erforderlich halten würdest?

Ja:
- Die Wiederentfernung der automatischen Maskierungen
- Das Hinzufügen von Defaults, wenn der Parameter nicht posted wurde
  (Radios und Checkboxes z.B.)
- Das Löschen überflüssiger Parameter, soweit es das
  Programmkonzept vorsieht, dass die Anzahl auch positiv variant ist


da fällt mir bestimmt noch mehr ein.

All diese Dinge macht man sicher in einer wohlüberlegten Reihenfolge und nicht "Kraut und Rüben".

Ich stamme noch aus der Zeit der Assembler-Programmierung. Da hat man Blockbuffer so schnell es ging wiederverwandt. Nun sag nicht: heute hat man genügend Speicherplatz. Ich bin bei PHP schon oft genug an die Grenzen gestoßen, denn was nützt es, wenn _ein_ User genug Platz hat, aber es für zwei schon wieder zu eng wird.

LG
Chris

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 11:27 Uhr von wahsaga veröffentlicht.

hi,

> Nun sag nicht: heute hat man genügend Speicherplatz.

Würde mir nie in den Sinn kommen :-)

Ernsthaft: Ja, da gebe ich dir Recht - auch heute noch hat ein Programmierer m.E. die Verantwortung, mit den Ressourcen so verantwortungsvoll wie möglich umzugehen. "Wir hamm's ja" war noch nie eine gute Einstellung.

Auf deine genannten Beispiele war ich, abgesehen vom Rücknehmen eventueller überflüssiger Maskierungen, so noch nicht gekommen.
Werde aber mal schauen, ob und wo ich das zukünftig sinnvoll einsetzen kann.

gruß,
wahsaga


--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:59 Uhr von dey veröffentlicht.

Hallo,

> Aber überlege dir, ob du sowas wirklich brauchst.
> Gerade Einsteiger scheinen oftmals geradezu besessen von dem Gedanken, alles mögliche in "einzelnen Variablen" stehen haben zu wollen - obwohl Arrays oftmals viel komfortabler zu handhaben sind.

Du hast recht. War gedankenlos von mir.
Was hat mich da blos geritten!?

bydey
--
-- noch immer ein erfolgloser <DIV> Jünger --

variable Variablennamen

Der folgende Beitrag wurde am 24. 11. 2005, 10:17 Uhr von Chris veröffentlicht.

Hallo,

> ich glaube irgendwo gesehen zu haben, dass man auch variable Variablennamen durch concatinieren erzeugen kann
>
> $select_date = array ('dd' => 31,'mm' => 12, 'yy' => 10);
> $temp_.$select_date['dd']
> ergibt $temp_31
>
> Wie funktioniert das?

Das Dollarzeichen weist den Parser an, nicht den Text direkt auszugeben, sondern diesen als Bezeichner aufzufassen. Mittels dieses Bezeichners wird dann in der Variablen- und Funktionentabelle von PHP nachgeschaut, welcher Wert stattdessen benutzt werden soll.

Wenn man nun vor diesen Wert wiederum einen Dollar setzt, wird auch dieser nicht direkt verwendet, sondern das Spiel beginnt von Neuem.

Nun sollte es Dir klar werden, wie es funktioniert.

Außerdem siehe http://de2.php.net/language.variables.variable

LG
Chris

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4