在以下代码段中,$sd
是DateTime
个对象。它被分配给一个名为$a
的变量。在add
上致电$a
时,$sd
也会发生变化。
$sd = new DateTime();
$a = $sd;
$a->add(new DateInterval("P1M")); // Add 1 month to $a
这是因为$a
是对$sd
的引用。有没有办法,$sd
不会改变?这里的方法应该是什么?
答案 0 :(得分:1)
使用clone
$sd = new DateTime();
$a = clone $sd;
$a->add(new DateInterval("P1M")); // Add 1 month to $a