FiRеFоX
V.I.P.
- Регистрация
- 07.08.2010
- Сообщения
- 744
Есть такой массив:
$array = array(
array(),
array(),
array(),
array(),
//... ещё много раз это же
array(),
);
Мне нужно каждый день месяца выводить по 5 элементов массива по порядку.
Т.е в первый день месяца: с 0 по 4 элемент, второй день месяца: с 5 по 9 и т.д.
С наступлением нового месяца снова с 0 по 4 и т.д.
Проблема в том, что в массиве может быть, например, 63 элемента, а этого не хватит на месяц из 30 дней (хватит только на 63 / 5 = 12 дней) и нужно как-то сделать, чтобы эти 63 элемента крутились по 5шт в течение всего месяца по кругу.
У меня что-то запор какой-то.. Тупо не могу решить эту задачу
Осилил только это:
$array = array(
array(),
array(),
array(),
array(),
//... ещё много раз это же
array(),
);
Мне нужно каждый день месяца выводить по 5 элементов массива по порядку.
Т.е в первый день месяца: с 0 по 4 элемент, второй день месяца: с 5 по 9 и т.д.
С наступлением нового месяца снова с 0 по 4 и т.д.
Проблема в том, что в массиве может быть, например, 63 элемента, а этого не хватит на месяц из 30 дней (хватит только на 63 / 5 = 12 дней) и нужно как-то сделать, чтобы эти 63 элемента крутились по 5шт в течение всего месяца по кругу.
У меня что-то запор какой-то.. Тупо не могу решить эту задачу
Осилил только это:
Код:
// Число элементов в массиве
$count_array = count($array);
// Выводить элементов на страницу
$count_str = 5;
if($count_array > 0) {
$html = '';
// Текущий день месяца числом
$j = date('j');
// Конечная позиция
$end_key = $j * $count_str;
// Начальная позиция
$start_key = $end_key - $count_str;
for($i = $start_key; $i < $end_key; $i++) {
if(array_key_exists($i, $array)) {
$value = $array[$i];
$html .= $i.' => TRUE <br/>';
}
else {
$html .= $i.' => FALSE <br/>';
}
}
echo $html;
}