У меня есть эта функция для генерации массива дат между диапазонами. Мне нужно изменить его так, чтобы он принимал другой параметр, если он прошел с определенным днем недели.
Затем я получу все даты этого дня в пределах диапазона. Я не смог изменить. Спасибо.
Вот мой обновленный код, он все еще добавляется для каждого дня в диапазоне дат, хотя я передаю значение 6. Я, вероятно, смотрю мне в лицо, но не вижу его.
function createDateRangeArray($strDateFrom,$strDateTo,$dateOfWeek=6) {
// takes two dates formatted as YYYY-MM-DD and creates an
// inclusive array of the dates between the from and to dates.
// could test validity of dates here but I'm already doing
// that in the main script
$aryRange=array();
$iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2),substr($strDateFrom,8,2),substr($strDateFrom,0,4));
$iDateTo=mktime(1,0,0,substr($strDateTo,5,2),substr($strDateTo,8,2),substr($strDateTo,0,4));
if ($iDateTo>=$iDateFrom) {
if(!isset($dateOfWeek) || date('w')==$dateOfWeek) //if dateOfWeek not given or same as given
array_push($aryRange,date('Y-m-d',$iDateFrom));
while ($iDateFrom<$iDateTo) {
$iDateFrom+=86400; // add 24 hours
array_push($aryRange,date('Y-m-d',$iDateFrom));
}
}
if(count($aryRange)<1){
return false;
} else{
return $aryRange;
}
}