phpbar.de logo

Mailinglisten-Archive

[php] Re: Array in Variablen umwandeln

[php] Re: Array in Variablen umwandeln

dhirtzbruch at hrnetzwerk.de dhirtzbruch at hrnetzwerk.de
Fre Jun 10 12:33:47 CEST 2005


Hey Sebastian & Jens,
danke für die Antworten aber so ganz trifft das noch nicht.

lists at sebastianmendel.de WROTE:
> dhirtzbruch at hrnetzwerk.de wrote:
> > hab in einem Script zur Formularauswertung ein Array $required_values (
> > Anzahl variiert) mit den Namen der zwingend benötigten Felder und ein
> > Array $incoming_values mit den Inhalten aller Felder (ebenfalls 
> > unterschiedlich viele). Jetzt muss ich aus den Namen aus $required_values 
> > einzelne Variablen erstellen, steh total auf dem Schlauch... Die Arrays
> > werden mit zwei For-Schleifen durchlaufen, die erste prüft das Array 
> > $incoming_values und die zweite bei jeder Runde das Array 
> > $required_values.
> > 
> > Sollte also so aussehen:
> > wenn $required_values[$a] = "name" -> $name wird erstellt und mit 
> > $incoming_value[$i] gefüllt.
> >
> > Mein Ansatz wäre irgendwas mit 
> >
> > ${$required_values[$a]} = $incoming_values[$i];
> <?php
> foreach( $required_values as $name )
> {
>     $$name = $incoming_values[$name];
> }
> ?>
> oder was meinst du?

Die Arrays werden dynamisch generiert:

$required_values = explode(',',$required_on); 
# $required_on enthält kommagetrennt die Namen der benötigten Felder, wird 
# ausgelesen aus einer Config-Datei
$incoming_fields = array_keys($HTTP_POST_VARS);
$incoming_values = array_values($HTTP_POST_VARS);

Nehmen wir mal folgendes an:

$required_values enthält folgende Werte:
   [0] - name
   [1] - email
   [2] - text
$incoming_fields enthält folgendes:
   [0] - telefon
   [1] - name
   [2] - adresse
   [3] - plzort
   [...]
   [x] - email
   [y] - text
$incoming_values enthält folgendes:
   [0] - 01234-56789
   [1] - Daniel Hirtzbruch
   [2] - Grüner Weg 194g
   [3] - 48599 Gronau
   [...]
   [x] - dhirtzbruch at hrnetzwerk.de
   [y] - Text der Anfrage

Jetzt hab ich mit Hilfe von zwei verschachtelten For-Schleifen die Abfrage ob incoming_fields[a] und required_fields[b] gleich sind. Wenn ja, dann soll der Inhalt von required_fields[b] der Name der neuen Variable sein. Wenn also required_values[1] = "email" und incoming_fields[x] = "name", soll eine neue Variable $name erstellt werden mit dem Inhalt von incoming_values[x].
Mein Problem: ich krieg aus dem Inhalt des Arrays keine Variablennamen definiert, mehr will ich gar nicht...

> > Hoffe ich hab mich verständlich ausgedrückt und diesmal alle Listen-
> > Regeln beachtet,
> naja, so richtig plaintext ist deine Nachricht nicht, oder?

hab leichte Probs mit meinem neuen Mail-Prog auf der Arbeit (Tobit David v8+), als Mail-Format hab ich "Nur-Text", was muss ich als Codierung nehmen, hab da UTF-8, US-ASCII und noch 30 verschiedene Sprach- & Windows-spezifische Zeichensätze zur Auswahl... 

@List-Admins: Hab jetzt UTF-8, hoffe ihr lasst die Mail auch durch wenns noch nicht stimmt, hab leider überhaupt keine Peilung was ich bei David eintragen muss da ich bisher immer mit Outlook2000 gearbeitet hab...

Danke für eure Mühen,
Gruß,
Daniel

php::bar PHP Wiki   -   Listenarchive