Перейти к содержимому

Фотография
- - - - -

Помощь по скрипту PHP


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
В этой теме нет ответов

#1 FiRеFоX

FiRеFоX

    Завсегдатай

    Топикстартер
  • V.I.P.
  • 43
    739 сообщ.

Отправлено 08 Март 2015 в 12:53

Есть такой массив:

$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;
}

Сообщение отредактировал FiRеFоX: 08 Март 2015 в 12:55

  • 0

Спонсор



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей