Задать вопрос
dart_kinselok
@dart_kinselok
Правильный вопрос содержит 50% искомого ответа...

Кушает ли ссылка на переменную память?

Добрый день, дорогие хабровчане!

Вопрос созрел следующий. Если у меня есть переменная $var1, в которой хранится объект с огромным количеством пропертей, при попытке записать ее по ссылке в $var2 = &$var1;, я просто укажу на ту же область памяти, что и $var1 и не буду тратить память дважды на одну и ту же историю, верно?

Спасибо за ответы!
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@neol
Это бессмысленно. PHP не копирует объекты пока вы явно не скажете сделать это, использовав clone.

Начиная с PHP объектная переменная больше не содержит сам объект как значение. Такая переменная содержит только идентификатор объекта, который позволяет найти конкретный объект при обращении к нему. Когда объект передаётся как аргумент функции, возвращается или присваивается другой переменной, то эти разные переменные не являются псевдонимами (алиасами): они содержат копию идентификатора, который указывает на один и тот же объект.


https://www.php.net/manual/ru/language.oop5.refere...

PS Похоже документация кривовата. Если мне не изменяет склероз, то там должно быть "начиная с PHP 5 объектная переменная больше не содержит сам объект как значение".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽