Я попытался смешать несколько функций php, чтобы получить все даты между несколькими диапазонами дат.Возврат всех дат между несколькими диапазонами дат
Сначала я использовал функцию:
public function getDatesForArray($id){
return $this->sqlQuery("SELECT date_from, date_to FROM bn_prereservation WHERE
oid='".$id."' AND status='ACCEPT' ORDER BY date_from ASC");
}
, чтобы получить все диапазоны данных из моей базы данных. И я получаю что-то вроде этого:
Array
(
[0] => Array
(
[date_from] => 2016-12-05
[date_to] => 2016-12-08
)
[1] => Array
(
[date_from] => 2016-12-11
[date_to] => 2016-12-13
)
)
А рядом я использовал вторую функцию, которым должна возвращать все даты между диапазонами эти данные:
public function getReserv2($id){
$dates = $this->getDatesforArray($id);
$array = array();
foreach($dates as list($start, $end)) {
$format = 'Y-m-d';
$interval = new DateInterval('P1D');
$realStart = new DateTime($start);
$realEnd = new DateTime($end);
$realEnd->add($interval);
$period = new DatePeriod($realStart, $interval, ($realEnd));
foreach($period as $date) {
$array[] = $date->format($format);
}
}
return $array;
}
Я ожидаю, я получаю что-то вроде этого:
2016-12-05
2016-12-06
2016-12-07
2016-12-08
2016-12-11
2016-12-12
2016-12-13
Но я только получаю:
2016-12-13
2016-12-13
Любые идеи?
'list' проблема/ошибка здесь. Я напишу вам ответ. – Jeff