Variablen-Namen erzeugen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variablen-Namen erzeugen

    Hallo zusammen,

    irgendwie kapier ichs nicht. Ich möchte automatisch die Namen von Variablen erzeugen, dies soll in einer Schleife geschehen.

    Das ganze ist ein Dump-System.
    Es gibt eine externe Datei die ich Include, die die Variablen $variable0 bis $variable5 enthält (Dump verschiedener Tabellen).
    Diese lasse ich zuvor erzeugen.

    Nun lese ich später die Datei wieder ein - mein Script weis aber nicht wie viele Variablen es gibt, also muss ich diese - anhand meines Arrays wieder zuweisen.

    for ($i=0; $i<count($mein_array); $i++){
    $meine_query = $variable.$i; // So dachte ich

    mysql_query($meine_query);
    }

    Allerdings hänge ich ja mit einem Punkt nur die Inhalte der Variablen zusammen.
    Gebe ich dann jeweils $meine_query aus erhalte ich nur Zahlen von 0 bis 5 und nicht den Inhalt der Variablen $variable0 bis $variable5.

    Wie kann ich denn nun in einer Schleife einen Namen erzeugen, dass das Script auch weis, dass es $meine_query jeweils die Variablen $variable0 bis $variable5 zuweisen soll, wobei die letzte Ziffer des Namens halt dazugeneriert wird.

    Grüße und Dank
    Andi

  • #2
    Re: Variablen-Namen erzeugen

    wenn du dir einen variablennamen in einem string zusammensetzt
    $meine_query = $variable.$i;
    so musst du anschliessend mit $$meine_query (doppeltes $)
    darauf zugreifen.

    für mehr informationen suche nach 'variable variablen'.
    Zuletzt geändert von wahsaga; 13.03.2003, 11:29.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      genau.

      von der logik her war das schon nicht schlecht. nur hast du drei zeichen vergessen, damit es funktionier... ${}

      PHP-Code:
      for ($i=0$i<count($mein_array); $i++){
        
      $meine_query = ${$variable.$i}; // So ist's korrekt
        
      $result mysql_query($meine_query);

      eine zwischenzuweisung könntest du dir theoretisch auch sparen, wenn es nicht unbedingt benötigt wird.

      PHP-Code:
      for ($i=0$i<count($mein_array); $i++){
        
      $result mysql_query(${$variable.$i});

      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Also irgendwie funktioniert das nicht.

        es sieht jetzt so aus:

        $dump_query = "\$dump_query";
        $wich_dump = $dump_query.$i;
        print $$wich_dump."<br>";

        $i hat jeweils die Werte 0-5

        Als Ergebnis bekomme ich aber nicht den includeten Inhalt der Variablen $dump_query0 bis $dump_query5 sondern lediglich
        $dump_query0
        $dump_query1
        $dump_query2
        $dump_query3
        $dump_query4
        $dump_query5

        Ist ja auch schön und gut, jetzt müßte ich $wich_dump nur noch sagen, dass das nicht der Wert ist, sondern der Name einer Variablen dessen Wert $wich_dump annehmen soll.

        Habe auch schon mit dem doppelten $$ rumgespielt und an verschiedene Variablen gesetzt, will aber nicht :-(

        Grüße, Andi

        Kommentar


        • #5
          oder:
          $meine_query=${"variable".$i}
          eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

          Kommentar


          • #6
            lies dir mal meinen post laaaaaangsaaaaaam durch ......
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              @Abraxax: Als ich meinen Post gesendet hatte, hatte ich deinen Eintrag noch nicht gelesen.

              Yep, so gehts jetzt!!!

              Vielen Dank an alle.

              Grüße, Andi

              Kommentar

              Lädt...
              X