Phil: Variblenname aus Variablen

ich möchte aus Variablen einen Variablennamen zusammensetzen.

$bsp1 = 'name';
$vor.$bsp1 ='Klaus'; // Ist so natürlich falsch

Ziel:
$vorname = 'Klaus';

Danke

  1. Mahlzeit Phil,

    ich möchte aus Variablen einen Variablennamen zusammensetzen.

    Und Du bist sicher, dass Du kein Array (ggf. ein assoziatives) nutzen willst?

    Ansonsten könntest Du Dich über "variable Variablen" informieren ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hallo EKKi,

      ich möchte Objekte in einer Schleife aus einer db erzeugen.
      Die Objektnamen sollen gleich den richtigen Namen bekommen.

      $i = 1
      $link_ebene.$i = new stdClass;
      ...
      ...
      $i++

      was ist besser? mit variablen Namen oder Array?.

      Danke für den Link, der ist gut erklärt.

      Und Du bist sicher, dass Du kein Array (ggf. ein assoziatives) nutzen willst?

      1. Hallo,

        ich möchte Objekte in einer Schleife aus einer db erzeugen.
        Die Objektnamen sollen gleich den richtigen Namen bekommen.

        das schreit nach der Verwendung von Arrays.

        Ciao,
         Martin

        --
        Zwei Mäuse treiben's miteinander. Sagt der Mäuserich: "Hoffentlich ist nicht wieder alles für die Katz."
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. das schreit nach der Verwendung von Arrays.

          Da habt Ihr recht, nochmal überdacht.

          Die Ergebnis-objekt sollen ja auch wieder in einer Schleife
          abgearbeitet werden.

          also so müsste es gehen:

          $links = new stdClass;
          $i = 1
          ...
          while(...)
          {
          $links->$i->id = 1;
          $links->$i->name = 'Start';
          ...
          ...
          }
          $i++

          Danke

          1. Hi!

            das schreit nach der Verwendung von Arrays.
            Da habt Ihr recht, nochmal überdacht.

            Warum nimmst du dann aber kein Array?

            Die Ergebnis-objekt sollen ja auch wieder in einer Schleife abgearbeitet werden.

            Noch ein Grund mehr für ein Array.

            also so müsste es gehen:

            $links = new stdClass;

            Nein, stdClass ist kein Array. Wenn du Objekten dynamisch Eigenschaften hinzufügst ist das auch nicht besser als mit variablen Variablen nahezu unkontrolliert Variablen zu erzeugen. PHP kann zwar über ein Objekt iterieren, indem es eine automatische Typumwandlung zu Array vornimmt und dabei die Eigenschaften und deren Namen als Inhalt und Index verwendet, aber verständlicher programmiert ist da nur ein echtes Array.

            Also:

            $links = array();

            und

            $links[$i]->id = ...;
            $links[$i]->name = 'Start';

            Lo!

            1. Da werde ich mich nochmal mit Objekten detailierter auseinandersetzen.
              Danke für den Hinweis.
              Mit einem Array ist es doch übersichtlicher und Typumwandlung
              kann man ja so vermeiden

              Phil

              Nein, stdClass ist kein Array. Wenn du Objekten dynamisch Eigenschaften hinzufügst ist das auch nicht besser als mit variablen Variablen nahezu unkontrolliert Variablen zu erzeugen. PHP kann zwar über ein Objekt iterieren, indem es eine automatische Typumwandlung zu Array vornimmt und dabei die Eigenschaften und deren Namen als Inhalt und Index verwendet, aber verständlicher programmiert ist da nur ein echtes Array.

              Also:

              $links = array();

              und

              $links[$i]->id = ...;
              $links[$i]->name = 'Start';

              Lo!