我试图用开始日期和结束日期之间的每个特定工作日(比如周日(填充一个数组。
我能想到的最好的是如下。(这些日期实际上是碳日期。(
这似乎有效,只是我注意到当我dd()
结果时,所有数组元素都被分配了$d
(=$endDate_Planned
(的最终值。如果我info()
记录这些值,我会看到它在每个值都被推入数组的时间点上的工作,但很明显,这些值是某种引用,每次$d
更新/增量时都会更新。
有办法避免这种情况吗?
for( $d = $startDate_Planned; $d <= $endDate_Planned; $d->addDays(7) ) {
info($d);
$dateArray_Planned[] = $d;
}
太难看了。原因是$d
是一个对象。$dateArray_Planned
的每个元素都是对同一对象的引用。
我不会使用for
,但如果有,我只会在每次迭代中尝试使用copy()
。
$dateArray_Planned[]=$d->copy();