我不知道如何命名这个问题。
所以,我有一个类有$date
之类的属性。
接下来,在我的方法中,我正在使用一些计算进行循环,并且在每次迭代中我$date->modify('+1 month');
因此,如果开始日期是例如01/01/2000,则在24次迭代后它变为01/01/2002。
但是在这个循环之后我必须调用另一个带有开始日期(未修改)的方法,但$ this-> $ date给我一个修改日期01/01/2002。
我尝试实现类似的东西:在for循环之后进行comeBack修改,如$date->modify("$duration * -1 . 'months' ");
,但在某些特定情况下,因为项目已经很复杂,它会回来+ - 1个月的差异。
所以,我尝试在方法的开头制作smth:
$newArray = [];
array_push($newArray,$this->date);
但无论如何,它给了我一个修改日期:/
如何在某处创建一个可以保存开始日期的变量,以便可以从任何地方访问此日期?
比如,从变量定义一个常量,然后在任何地方使用它?
答案 0 :(得分:0)
如果您需要保留原件,则应克隆它而不是修改它。然后,您可以在循环中为克隆添加月份。
$iterationDate = clone $date;
现在,当您更改$iterationDate
时,您的原始日期不会更改。