Задать вопрос
@lemonlimelike

Как предотвратить изменение переменной?

Всем привет! Очень интересная проблема появилась. Имеется метод, который принимает объект Point.
private function removeIntervals(Point $item, $service)
    {
       ...
       ...
        // dd($service, $item->getDate());
        $timeWork = $item->getStartTime()->diff($item->getEndTime());
        $startTime = $item->getStartTime(); // Метод getStartTime() возвращает время 13:00 и присваивается переменной startTime
        $endTime = $item->getEndTime();
        $subTime = $startTime->sub($timeWork); // А тут получается, что в переменную subTime ставиться значение startTime но с некими вычислениями
        $addTime = $endTime->add($timeWork);
    }

И в результате получается , что в объекте Point метод getStartTime() будет возвращать мне уже 12:10, а не 13:00
Я понимаю, что произошли некие операции в значения поменялись. Но почему в переменной startTime значение изменилось? Потому что тут везде все работает по ссылкам? Но как мне сделать, чтоб в startTime было постоянно 13:00, потому что в результате в startTime тоже будет 12:10. Объясните плиз, что не так с php или моими руками?))
  • Вопрос задан
  • 165 просмотров
Подписаться 2 Простой 3 комментария
Ответ пользователя Виталий Артемьев К ответам на вопрос (2)