- in_array: documentation ( source)
<?php
$startDate = DateTimeImmutable::createFromFormat('Y-m-d', '2018-01-01');
$dateInterval = new DateInterval('P1D');
$dateRange = new DatePeriod($startDate, $dateInterval, new DateTimeImmutable);
foreach($dateRange as $date) {
if (in_array($date->format('w'), [0, 6])) {
echo 'weekend';
continue;
}
echo $date->current->format('Y-m-d');
}