Я начинающий программист. Мне нужно написать небольшой код. Есть число 2833, нужно вывести день в формате 12.09.2018 с этим числом, затем следующий день 13.09.2018 с числом 2858. И каждый следующий день с числом больше предыдущего на 25. Код должен закончится на 10033. Цикл я написал
<?php
for ($a = 2833; $a <=10033; $a=$a+25) {
echo "Рейтинг : ". $a . "<br />";
}
?>
Есть предположение, что дату нужно перевести в строку и создать цикл, который бы прибавлял 86400 и снова переводил в дату. Как толково можно это сделать? Все результаты вывести в столбик на странице
<?php
$A = [];
for ($a = strtotime('12 September 2018'); $a <= strtotime('27 June 2019'); $a += 86400) {
$A[] = $a;
}
$B = [];
for ($b = 2833; $b <= 10033; $b += 25) {
$B[] = $b;
}
foreach ($A as $k => $v) {
echo date('d.m.Y', $v) .' — '. (isset($B[$k]) ? $B[$k] : '-') . PHP_EOL; // .'<br />';
}
Для работы з датой есть замечательная функция strtotime, которая может работать с относительной датой через конструкции вида +10 days. Добавляем в цикл еще один счетчик по дням (увеличивать будем "вручную" в цикле). И споьзуем это второе счетчик для увеличения дней:
$startDate = strtotime("12.09.2018");
$days = 0;
for ($a = 2833; $a <= 10033; $a = $a + 25) {
echo "Рейтинг : ". $a . " за дату " . date("Y-m-d", strtotime("+{$days} days", $startDate)) . "<br />";
$days++;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей