我有一个值,一个我克隆的DateTime,而不是在foreach中触摸它我再次显示它。但没有任何线索,价值已发生变化。我知道它来自:
if ($rtt->getPrttDateDebutPose()<$conge->getCngDateDebut() || $poseRTTService->getDateLastDay($rtt)>$conge->getCngDateFin()) {
因为我测试了它,它可能会改变价值(即使我无法解释为什么)。但克隆?为什么会改变我不做任何事情?
这是完整的代码:
$end_rtt = clone end($RTT_pris);
var_dump($end_rtt); // -------------------------------------------------------------------------------------
// Algo that allows to separate in two arrays the conges w/ rtt and those w/o
foreach ($conges as $conge) {
$count = 0;
foreach ($RTT_pris as $rtt) {
if ($rtt->getPrttDateDebutPose()<$conge->getCngDateDebut() || $poseRTTService->getDateLastDay($rtt)>$conge->getCngDateFin()) {
$count++;
}
}
if ($count == count($RTT_pris) && !in_array($conge, $conges_final)) {
array_push($conges_final, $conge);
} else {
array_push($conges_w_rtt, $conge);
}
}
var_dump($end_rtt); // ---------------------------------------------------------------------------------------
这是两个var_dump($end_rtt)
:
查看日期从11点到20点。
如果有人理解,请解释。