на самом деле я хочу сделать дату напоминания, когда пользователь вводит напоминание. позволяет пользователю добавить напоминание сегодня и хочет повторить его 5 раз после 2 дня, 3 дня или что он хочет, в следующий день. чем как i повторить дату с циклом for.
Я помогу с вышесказанным. Прежде всего, я просто скажу, что у меня есть огромное личное предпочтение по отношению к объекту DateTime
, просто используя date
. Это более гибко и, на мой взгляд, намного более читаемо, поэтому при работе с датами я всегда предлагаю использовать это более date()
Так вот некоторые Код:
$date = new DateTime(); // Pretend this is what the User entered. We got it via $_POST or something.
$interval = 2; // Repeat x times at y day intervals. (Not including the initial)
$repeatAmount = 2; // Repeat the reminder x times
for ($i = 0; $i <= $repeatAmount; ++$i) {
echo $date->format('d/m/Y');
$date->modify('+'. $interval .' day');
}
$date = new DateTime()
Представьте себе это дата, введенная пользователем, это наша отправная точка, наше первое напоминание в это время.
$interval
и $repeatAmount
являются интервал в днях, то я хочу, чтобы это каждые 2 дня и количество раз вы хотите, чтобы повторить, в нашем примере 2.
for ($i = 0; $i <= $repeatAmount; ++$i) {
Мы хотим, чтобы в цикле столько раз, сколько пользователь говорит, что они хотят повторить.Маленькое примечание ++$i
имеет тенденцию быть очень незначительное повышение производительности по сравнению с $i++
в некоторых сценариях, так что, как правило, лучше по умолчанию, что, если вы специально не нужно использовать $i++
echo $date->format('d/m/Y');
Просто распечатайте дату, я дам вам обращаться логика напоминания.
$date->modify('+' . $interval . ' day');
Увеличьте объект dateTime
на интервал, который запросил пользователь, в нашем случае приращение на 2 дня.
Все вопросы дайте мне знать.
Нет необходимости в дополнительной переменной в '$ today' :) – Jer
Конечно, мой плохой! :) Благодаря! – aslawin
Добро пожаловать :-)! @aslawin – Jer