Was macht der =&
Zuweisungsoperator (gleiches kaufmännisches Und) in PHP?
Ist es veraltet?
Was macht der =&
Zuweisungsoperator (gleiches kaufmännisches Und) in PHP?
Ist es veraltet?
Antworten:
Es ist nicht veraltet und es ist unwahrscheinlich. Dies ist die Standardmethode, um beispielsweise einen Teil eines Arrays oder Objektspiegels an einem anderen zu ändern, anstatt die vorhandenen Daten zu kopieren.
Es wird als Zuweisung durch Referenz bezeichnet , was, um das Handbuch zu zitieren, "bedeutet, dass beide Variablen auf dieselben Daten zeigen und nirgendwo etwas kopiert wird" .
Die Sache , nur die ist mit veraltet =&
ist „Zuweisung des Ergebnisses der new
durch Bezugnahme“ in PHP 5 , die die Quelle jeglicher Verwirrung sein könnte. new
wird automatisch als Referenz zugewiesen, &
ist also redundant / veraltet in $o = &new C;
, aber nicht in $o = &$c;
.
Da die Suche schwierig ist, beachten Sie, dass =&
( entspricht kaufmännischem Und ) dasselbe ist wie = &
( entspricht kaufmännischem Leerzeichen ) und häufig so geschrieben wird, dass es auf die andere Variable wie $x = &$y['z'];
oder $x = &$someVar
( kaufmännisches Und-Dollarzeichen Variablenname ) trifft . Beispiel aus den Dokumenten vereinfacht:
$a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4
Hier ist ein praktischer Link zu einem detaillierten Abschnitt über Zuweisen nach Referenz im PHP-Handbuch . Diese Seite ist Teil einer Reihe von Referenzen - es lohnt sich, sich eine Minute Zeit zu nehmen, um die ganze Reihe zu lesen.
Es sind zwei verschiedene Operatoren. =
ist Aufgabe, wie Sie wahrscheinlich wissen. Und &
bedeutet, dass auf die Variable eher als Referenz als als Wert zugegriffen werden sollte.