Нужно реализовать следующую функцию:
get_next_days($day_now, $count)
В которой можно указать $day_now, например "Fri" и count, от которого зависит количество возвращаемых дней, начиная с "Fri", например, если я введу Fri и 3, то должен получить Fri, Sat, Sun
Буду очень благодарен за примеры или готовую функцию! Очень долго ломаю над этим голову!
Так тоже можно:
<?php
function get_next_days($day_now, $count)
{
$days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
$idx = array_search($day_now, $days);
if ($idx === false) {
return [];
}
$ret = [$day_now];
if (!--$count) {
return $ret;
}
$day_next = $days[++$idx === count($days)? 0: $idx];
return array_merge($ret, get_next_days($day_next, $count));
}
echo implode(", ", get_next_days('Fri', 3)); // Fri, Sat, Sun
echo implode(", ", get_next_days('Sat', 3)); // Sat, Sun, Mon
echo implode(", ", get_next_days('Sat', 8)); // Sat, Sun, Mon, Tue, Wed, Thu, Fri, Sat
Ну вы ребята даете ))
function get_next_days($day_now, $count, $format = 'D') // можно передать Mon, Monday, Today etc.
{
if(!($day_now = strtotime($day_now))) {
return false; // если нам непонятно что пришло возвращаем ошибку
}
$days = [date($format,$day_now)];
for ($i = 1; $i < $count; $i++) {
$day_now = strtotime('tomorrow',$day_now);
$days[] = date($format,$day_now);
}
return implode(', ', $days);
}
Буду очень благодарен за примеры или готовую функцию
Есть готовый класс DateTime:
$next_days = get_next_days('Fri', 3);
echo $next_days;
function get_next_days($day_now, $count): String
{
$days = [];
for ($i = 0; $i < $count; $i++) {
$days[] = (new DateTime("$day_now +$i days"))->format('D');
}
return join(', ', $days);
}
Результат:
Fri, Sat, Sun
UPD: Вариант для возврата массива:
$next_days = get_next_days('Fri', 3);
print_r($next_days);
function get_next_days($now, $count, $days = []): Array
{
for ($i = 0; $i < $count; $i++) {
$days[] = (new DateTime("$now +$i days"))->format('D');
}
return $days;
}
Результат:
Array
(
[0] => Fri
[1] => Sat
[2] => Sun
)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Друзья у меня несколько вопросов по этой темеСайт должен работать на нескольких языков (Английском , Русском и на Польском)
мой вопрос теоретическийВеб-приложение будет работать только с Word файлами (буду делать в учебных для меня целях СЭД) и загрузить-то с проверкой...
Всем привет! Не получается сделать отправку писем на сайте через AJAXНажимаю на кнопку отправить и ничего не происходит