[Variablen] dynamisches Zuweisen und Hochzählen

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

  • [Variablen] dynamisches Zuweisen und Hochzählen

    Hallo,
    versuche mittels while - Schleife Variable dynamisch hochzuzählen und gleichzeitig Werte aus einem Array zuzuweisen.

    Also z.B.:

    $array = array("A","B","C","D","E","F","G","H","I","J");

    $a=0;
    $x=0;
    $y=1;


    while($y < 10)
    {
    if($_REQUEST['nummer'] == $y)
    {
    $name.$y = $array[$x + $a];
    }

    $a++;
    $x++;
    $y++;
    }

    Ziel der Sache soll sein, nachher Variablen mit den entsprechenden Werten zu haben, die in Abfragen und ähnlichem weiterverwendet werden können.
    Also:

    $name1 = "A";
    $name2 = "B";
    usw.

    Leider ist mein obiger Quellcode nicht richtig, bitte um Tipps!
    Zuletzt geändert von tulpe; 01.09.2006, 12:17.

  • #2
    PHP-Code:
    $y 1;
    ${
    'name'.$y} = 'Name 1';

    $y 1789;
    ${
    'name'.$y} = 'Noch ein Name';

    echo 
    $name1;
    echo 
    '<br />';
    echo 
    $name1789
    Warum packst du die Daten nicht in ein Array?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Danke,
      habe das Problem jetzt teilweise gelöst, aber es ergibt sich leider ein neues:
      <?php
      $array = array("A","B",....);

      $a=0;
      $x=0;
      $y=1;

      while($y < 10)
      {
      if($_REQUEST['nummer'] == $y)
      {
      $c = "name".$y;
      $$c = $array[$x + $a];
      }
      $a++;
      $x++;
      $y++;
      }
      ?>
      Jedoch sieht das Array etwas anders aus:
      $array = array("A:F","B","C:R",...);

      Deshalb versuchte ich:
      $hilf_array.$y = explode(":",$array[$x + $a]);
      $$c = $hilf_array.$y[0];

      Als Ergebnis will ich nachher folgendes bekommen:

      $name1 = "A";
      $name2 = "B";
      usw.

      Leider funktioniert es so jedoch nicht.
      Zuletzt geändert von tulpe; 01.09.2006, 14:33.

      Kommentar


      • #4
        lies und befolge bitte zunächst unsere regeln. das macht es uns einfacher dir zu helfen:

        http://www.php-resource.de/forum/sho...threadid=68042

        Kommentar


        • #5
          Vergiß deinen Code nochmal ... komplett weg damit. Und dann überlege dir, was du hast (in $_REQUEST), was du damit machen möchtest und wie du das erreichen kannst.

          Ich kann mir nämlich keinen vernünftigen Grund vorstellen, Werte aus $_REQUEST in dynamisch benannte Variablen zu kopieren. Der Vorschlag "pack es in ein Array" ist irgendwie auch nicht besonders glücklich, schließlich ist $_REQUEST schon ein Array ...

          Kommentar


          • #6
            Mit $_REQUEST['nummer'] übernehme ich ein Zahl aus einem Formular.
            Bisher wurde mit einer if-Abfrage

            if($_REQUEST['nummer'] == 1)
            {
            $name1="A";
            $name2="F";
            $name3="R";
            usw.

            }
            zugewiesen.

            Problem:
            Allerdings ergibt sich daraus ein ziemlich langer Quellcode.
            Mittlerweile ca. 200 Namenzuweisungen, die ich durch eine while-Schleife verkürzen wollte.

            Die Namen "A","B",... sind in einem Array gespeichert (siehe oben).
            Es müssen also die Arrayeinträge zusätzlich separiert werden, um die durch ":" getrennten Teile einzeln den Namen zuweisen zu können.

            Kommentar


            • #7
              Du hast also bis zu 200 Werte in $_REQUEST, die du bisher "unschön" (langer Code) in Variablen kopierst. Aber was machst du dann mit diesen Variablen, was du nicht auch direkt mit $_REQUEST[x] machen könntest?

              Kommentar

              Lädt...
              X