dynamische Variablennamen für Arrays

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

  • dynamische Variablennamen für Arrays

    Hallo,

    mein kleines Programm speichert einen Text bestimmter Länge in einem Array speichern. Anschließend wird in den beiden verschachtelten while-Scheifen dieses Array zerlegt und in $key-vielen Arrays gespeichert. Um dies zu realisieren wird die Variable $name bei jedem Durchlauf der Schleife neu erzeugt. Wärend des ersten Durchlaufes sollte $name = a0[0] sein. In der nächsten Zeile sollte die dynamisch generierte Arrayvariable $a0[0] erzeugt werden.
    Nachdem die beiden while-Schleifen abgearbeit sind sollten die beiden Arrays $a0 und $a1 existieren. Leider meldet PHP das die Variable a0 nicht definiert sei.

    Wo liegt denn der Fehler in meinem Skript?

    ciao
    Andreas

    PHP-Code:
    <?php
    $key 
    2;
    $count_sauber 12;
    $text_sauber = array(D,A,S,I,S,T,E,I,N,T,E,X,T);
    print_r($text_sauber);
    $n 0;
    $m 0;
    $k 0;

    while (
    $m $key) {
        while (
    $n $count_sauber) {
            
    $name "a".$m."[".$k."]";
            $
    $name $text_sauber[$n];
            
    $n $n $key;
            
    $k++;
        }
        
    $m++;
        
    $n $m;
        
    $k 0;
    }

    print_r($a0);
    ?>

  • #2
    Re: dynamische Variablennamen für Arrays

    Original geschrieben von ap0477
    Nachdem die beiden while-Schleifen abgearbeit sind sollten die beiden Arrays $a0 und $a1 existieren.
    Gibt es einen wirklich vernünftigen Grund für den Einsatz variablerVariablen - wenn doch eh schon Arrays benutzt werden?

    Mir scheint, du möchtest eigentlich $foo[0] und $foo[1] erzeugen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hm,

      warum leicht wenn es auch kompliziert geht. Danke für deinen Tip. Ich war so auf diese eine Richtung versteift das ich die einfache Lösung nicht gesehen habe.

      danke und ciao
      Andreas

      Kommentar


      • #4
        Mit deiner Konstruktion bekommt man eine gewöhnliche Variable namens $a0[0]
        anstatt einen array $a0. mit meiner konstruktion bekommt man das von dir zuerst gewünschte, Die Schweife sind nötig:
        $name="a".$m;
        ${$name}[$k] = $text_sauber[$n];

        Kommentar


        • #5
          Auch dir danke für die Antwort.

          ciao
          Andreas

          Kommentar

          Lädt...
          X