Ответ 1
Он не устарел и вряд ли будет. Это стандартный способ, например, сделать часть одного или другого зеркального отображения объекта другим, вместо копирования существующих данных.
Он называется присваиванием по ссылке, который, цитируя руководство, "означает, что обе переменные в конечном итоге указывают на одни и те же данные, и ничего не копируется в любом месте" .
Единственное, что устарело с =&
, - это "назначение результата new
по ссылке" в PHP 5, который может быть источником любая путаница. new
автоматически присваивается ссылкой, поэтому &
является избыточным/устаревшим в $o = &new C;
, но не в $o = &$c;
.
Так как трудно выполнить поиск, обратите внимание, что =&
(равно амперсандам) совпадает с = &
(равно амперсанду пространства) и часто записывается так, что он запускается в другую переменную типа $x = &$y['z'];
или $x = &$someVar
(имя переменной амперсанда и знака доллара). Пример, упрощенный из документов:
$a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4
Здесь представлена удобная ссылка на подробный раздел Назначить по ссылке в руководстве по PHP. Эта страница является частью серии по ссылкам - стоит потратить минуту, чтобы прочитать всю серию.