Php DateTime函数在修改新变量时影响原始变量

Php DateTime函数在修改新变量时影响原始变量,php,datetime,Php,Datetime,在此脚本中: <?php $original = new DateTime('2000-01-01'); $new = $original; $new->add(new DateInterval('P10D')); echo $original->format('Y-m-d') . "\n"; ?> 我希望$original不会被更改。然而,10天确实也被添加到这个变量中。为什么呢?这似乎没有任何意义 $new=$original只需将$original中的相同引用

在此脚本中:

<?php
$original = new DateTime('2000-01-01');
$new = $original;
$new->add(new DateInterval('P10D'));
echo $original->format('Y-m-d') . "\n";
?>


我希望
$original
不会被更改。然而,10天确实也被添加到这个变量中。为什么呢?这似乎没有任何意义

$new=$original
只需将
$original
中的相同引用分配给
$new
。相反,你想复制一份

$new = clone $original;

$new=$original
只需将
$original
中的相同引用分配给
$new
。相反,你想复制一份

$new = clone $original;