Alex_: Std::Class, Bezug soll aus Variable kommen

Beitrag lesen

Hallo Dennis,

vielen Dank für deine Antwort :)

zuerst einmal handelt es sich bei -> um einen Operator, Du verwendest ihn aber als eine Art Bezeichner, das sind zwei verschiedene Dinge. Den Unterschied solltest Du Dir zuerst einmal klar machen.

Das ist mir durch eure Antworten klar geworden. Bin vom Prinzip bei Arrays schonmal in die gleiche Falle getappt und brauchte erst wieder einen Wink, um das wieder parat zu haben.

Über stdClass kannst Du glaube ich nicht direkt iterieren. Du könntest das aber mit Funktionen wie get_object_vars() und evtl. Rekursion nachbauen. Kannst Du Dir ja mal ansehen.

Da ich nicht alle Variablen benötige, sondern nur einen kleinen Auszug hilft mir die Iteration hier glaube ich nicht weiter.

Ansonsten gibt es in PHP grundsätzlich noch zwei weitere Möglichkeiten, auf die Du früher oder später wohl stoßen wirst: Ich sage aber schon mal - und das ist wirklich wichtig - dass die nur mit großer Vorsicht verwendet werden sollten, wenn überhaupt, und auch nur, wenn Du genau weißt, was Du das da tust. Frage im Zweifel nochmal nach.

  1. Variable Variablen: Damit kannst Du den Inhalt einer Variablen als Bezeichner einer anderen Variablen verwenden.
  2. eval(): Einen String als PHP-Code auswerten.

Nochmal, das ist nicht empfehlenswert, wenn man nicht ganz genau weiß, was man tut. Und selbst dann häufig nicht.

Habe (auch aufgrund deiner Warnung) die Dokumentation nur überflogen, um da jetzt auch nicht auf die falsche Fährte gelockt zu werden. Ich versuche auf diese Funktionen erstmal zu verzichten. Im Regelfall weiß ich nämlich nicht, was ich tue ;-)

Es wäre aber wohl nicht schlecht, wenn Du noch etwas mehr dazu sagen könntest, was Du vorhast, was Du Dir davon versprichst und in welchem Kontext das stattfindet. Je nachdem könnte es noch einige andere Punkte und Lösungen geben.

Ich bin in der Antwort an Felix etwas auf den Kontext eingegangen. Leider bin ich noch ganz in den Anfängen und kann leider nicht ins Detail gehen. Wollte es mit dem Beispielen möglichst einfach halten und auf das konkrete Problem bezogen. Dadurch konnte ich natürlich keinen Hilfe zu anderen Ansätzen oder Lösungswegen erwarten. Ich werde mich aber ggf. bei kommenden Fragen näher am Echtcode und weniger an Beispielen zu orientieren und auch etwas zu den Hintergründen zu schreiben.