Was macht der =&
Zuweisungsoperator (gleiches kaufmännisches Und) in PHP?
Ist es veraltet?
php
operators
assignment-operator
Kyle J. Dye
quelle
quelle
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 dernew
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: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.
quelle
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.quelle
hat auch den Effekt, zu erstellen,
$y['z']
wenn es nicht existiert, und es auf zu setzennull
.Dies verhindert Fehlermeldungen, die Sie möglicherweise lesen wollten. Ich habe noch keine Dokumentation dazu gefunden. möglicherweise neu in 5.3, soweit ich weiß.
quelle