@EvilCatRu

Как повторить несколько раз числа в цикле PHP?

Всем добрый день!
Есть массив любой с ключами допустим от 1 до 10.
Массив выглядит так:
[1] => Название,
[2] => Название2,
[3] => Название3,
и тд.
И есть цикл от 1 до текущего дня(допустим число сегодня 7 оно каждый день соответствует новому дню).

Как сделать так чтобы в цикле от одного до сегодняшнего дня мы получали тело массива по ключу?

От 1 до 10 допустим понятно, но как повторять в цикле ключи массива. Допустим будет тридцатый день, он должен показать тело массива с ключём 10.

Заранее спасибо!

P.S. День идет отдельно от массива, день я получаю из angularjs посредство request запроса. Если день больше массива, то он должен повторять вывод ключей допустим. Пример: День 13 - Ключ = 3.

Я например пытался все это сделать через for, но что-то не успешно.

upd. Была интересная идея, получать остатком от деления. Но остаток от деления не пойдет, потому что если будет массив с ключами от 1 до 6. То допустим уже не получится, что 9 день это ключ 3.
  • Вопрос задан
  • 489 просмотров
Решения вопроса 1
@Arik
Как нибудь так?
$data = [
    1 => 'a',
    'b',
    'c',
    'd',
    'e',
    'f',
    'g',
    'h',
];

$day = 9;

if ($day > ($maxDay = max(array_keys($data)))) {
    $day = $day % $maxDay;
}

echo $data[$day];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
rishatss
@rishatss
Simple Developer ^)
Так ключ получаем.
$array = [0 => 1,1 => 2,3 => 3,4 => 4,5 => 5,6 => 6,7 => 7];

foreach($array as $key => $day)
{
    echo $key;
}

А тело получить можно так:
$array = [0 => 1,1 => 2,3 => 3,4 => 4,5 => 5,6 => 6,7 => 7];

foreach($array as $key => $day)
{
    echo $day;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы