неправильный расчёт даты

142
17 октября 2019, 23:50

имеется такой код для вычисления количества дней между двумя датами:

$datetime1 = date_create("2018-10-01");
$datetime2 = date_create("2018-10-31");
$interval = date_diff($datetime1, $datetime2);
$diff = $interval->format('%d');
for($i = 0; $i <= $diff; $i++){
    $arr_days[] = date("d.m.Y", strtotime("2018-10-01 +$i day"));
}
var_dump($arr_days);

с помощью этого я пробегаю каждый день в году(использую модификатор t, в коде дата просто для примера), однако код работает не на всех месяцах.

на 1,2,4,6,8,9,11 месяцах работает как надо

на 3,5,7,10,12 месяцах в массиве только один элемент - первый день месяца.

отличился только 3й месяц, в массив почему то попало 3 дня.

если вписать 30 вместо 31, то всё сработает нормально, однако в этом месяце 31 день.

PHP 5.6.3

поведение совсем не очевидное, почему это происходит? есть какие то более надёжные средства вычисления дат?

READ ALSO
Если поле формы не заполнено менять содержимое письма

Если поле формы не заполнено менять содержимое письма

Есть форма с необязательными полямиНужно, если не заполняют эти поля то письмо выводить без "пустых" этих полей

127
как сделать проверку в mysql?

как сделать проверку в mysql?

Использую redbean phpпользователь ставит лайк, это записывается в бд таблицу 'post' так же есть общая таблица 'user2like' куда записывается id поста и id пользователя...

129
Количество записей каждого наименования Mysql

Количество записей каждого наименования Mysql

как вывести наименование товара и его общее количество в таблице? вот такая структура таблицы

112
Chart вывод графика

Chart вывод графика

почему пишет

113