首页 > 解决方案 > 使用日期范围的特定星期几填充 PHP 数组(使用 Laravel)

问题描述

我正在尝试在开始日期和结束日期之间的每个特定工作日(例如星期日)填充一个数组。

我能想到的最好的如下。(这些日期实际上是碳日期。)

这似乎可行,除了我注意到结果时,所有数组元素都分配了(= )dd()的最终值。如果我记录这些,我会看到它在每个被推入数组的时间点工作,但显然这些值是某种引用,每次更新/增量时都会更新。$d$endDate_Plannedinfo()$d

有没有办法避免这种情况?

for( $d = $startDate_Planned; $d <= $endDate_Planned; $d->addDays(7) ) {
    info($d);
    $dateArray_Planned[] = $d;
}

标签: phparraysdatereference

解决方案


太丑了 原因是它$d是一个对象。的每个元素$dateArray_Planned都是对同一对象的引用。

我不会使用 a for,但如果有的话,我会copy()在每次迭代时尝试使用该对象。

$dateArray_Planned[]=$d->copy();

推荐阅读