Variablen, die innerhalb der Objekt-Operatoren
Ich versuche zum einrichten einer variable-basierten Objekt-operator in PHP, aber bin nur in der Lage zu erreichen, was Suche ich in einem begrenzten Umfang. Zum Beispiel der folgende code ermöglicht eine variable Auswahl:
$var1 = 'available_from';
$keyValuePairs[$key] = $item->parent()->{$var1};
Allerdings, wenn ich möchte, um die parent-Selektor eine variable wie gut, daß ich nicht mehr scheinen können. Beide der folgenden Methoden Versagen:
$var1 = 'parent()->available_from';
$keyValuePairs[$key] = $item->{$var1};
und
$var1 = 'parent()';
$var2 = 'available_from';
$keyValuePairs[$key] = $item->{$var1}->{$var2};
Also die Frage ist, ob es einen Weg gibt, dies zu tun.
- Von Ihrem letzten snippet:
$keyValuePairs[$key] = $item->{$var1}()->{$var2};
funktionieren sollte. Haben Sie versucht, die Klammern aus dem string? - Was sind die eigentlichen Fehlermeldungen, die Sie bekommen? Können Sie erläutern, auf "scheitern" ein bisschen weiter? Was nicht, was hast du erwartet? Das Teil macht nicht was Sie möchten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie im Grunde tun, aber Sie haben, um die Klammern auf der Außenseite.
Ist und es im Grunde ist keine Art der Fortbewegung, die ohne die Verwendung von eval:
Aber, es gibt wirklich keinen Grund für die Verwendung von eval, wenn Sie Zugang zu den möglichen Variablen-ersten.
Können Sie etwas tun, wie dies zu umgehen: