PHP类引用还是复制?

时间:2013-09-06 08:50:19

标签: php symfony

我从数据库中提取数据。

$tDate = $repository->findOneBy(array('Key' => $Key)); 

$tempdate = $tDate->getfromDate(); // Datetime class ex 8/30

$tempdate->modify('-2 days'); // deduct 2 days.

在树枝上。

{{ tempdate.date | date('n/j') }} // shows 8/28

{{ tempdate.date | date('n/j') }} // shows 8/28 not 8/30 ... why??????

为什么第二行也显示8/28?

我的意思是它显示8/30。

1 个答案:

答案 0 :(得分:2)

对象在PHP中通过引用传递。

示例:

$tempdate = $tDate->getFromDate(); // 8/30
$tempdate2 = $tempdate; // passes reference to the object
$tempdate2->modify('-2 days'); // both objects now contain 8/28

这就是clone运算符存在的原因。以下是它的完成方式:

$tempdate2 = clone $tempdate; // clones the object
$tempdate2->modify('-2 days'); // now $tempdate has 8/30, and $tempdate2 has 8/28

<强>嫩枝:

{{ tempdate.date | date('n/j') }}
{{ tempdate2.date | date('n/j') }}