Doppeltes Dollarzeichen PHP


Answers

Nun, Sie könnten einfach die Funktion extract() verwenden. Auch dieses Fragment: get_object_vars($this->view) zeigt an, dass Sie lieber ein Array haben sollten, um diese Variablen zu speichern, nicht ein Objekt.

Question

Mögliche Duplikate:
Was bedeutet $$ (Dollar-Dollar oder Doppel-Dollar) in PHP?

Ich habe diese Art von Code in einem meiner Controller verwendet:

foreach(get_object_vars($this->view) as $property=>$value){
   $$property = $value;
}

Gibt es ein Problem bei der Verwendung der $$-Eigenschaft zum "Lokalisieren" von Ansichtseigenschaften in einfache $ -Variablen?

bearbeiten:

Ich sollte hinzufügen, dass dieser Code im Rahmen einer View-spezifischen Methode ausgeführt wird, so dass es kein Problem gibt, lokale Variablen zu überschreiben. Dies soll einige von euch davon abhalten, auf das Problem des Überschreibens lokaler Variablen hinzuweisen.




Die angenommene Antwort ist so falsch !!! Der doppelte Dollar ist kein Grund für Probleme und sollte nicht als solcher betrachtet werden! Die Doppel-Dollar-Syntax ist in der Tat eine hervorragende PHP-Funktion, die in vielen Situationen nützlich sein kann!

Und wenn Sie befürchten, dass Sie andere Variablen überschreiben, indem Sie sie verwenden, bedeutet dies, dass Sie schlechten Code geschrieben haben! Wie auch immer, diese Syntax wird von erfahreneren Programmierern verwendet, also sollten die Anfänger es vermeiden, bis sie sich sicher fühlen, was sie tun.

Einige Situationen, in denen dies wirklich nützlich ist, sind das Durchlaufen von Variablen basierend auf dem Wert anderer Variablen, dynamischer Variablen, agnostischer Variablen usw.

Lassen Sie mich noch einmal sagen, dass der doppelte Dollar eine starke Eigenschaft ist und so behandelt werden sollte! Mit großer Macht kommt große Verantwortung!