/**
* Get an array of DOY (Day of Year) for each day in a particular week.
*
* @param \DateTime $dt
* @param \DateTime $start
* @param null|Rule $rule
* @param null|DateInfo $dtInfo
*
* @return DaySet
*/
public static function getDaySetOfWeek(\DateTime $dt, \DateTime $start, Rule $rule = null, DateInfo $dtInfo = null)
{
$start = clone $dt;
$start->setDate($start->format('Y'), 1, 1);
$diff = $dt->diff($start);
$start = $diff->days;
$set = array();
for ($i = $start, $k = 0; $k < 7; $k++) {
$set[] = $i;
++$i;
if (null !== $dtInfo && null !== $rule && $dtInfo->wDayMask[$i] == $rule->getWeekStartAsNum()) {
break;
}
}
$obj = new DaySet($set, $start, $i);
return $obj;
}