Как получить элементы массива с переполнением / Stack Overflow

Я инициализирую массив со всем месяцем в качестве элементов:

$allmonths = array("Jan", "Feb", "Mar",
"Apr", "Mai", "Jun",
"Jul", "Aug", "Sep",
"Oct", "Nov", "Dec");

У меня также есть пользовательский интерфейс, где вы можете выбрать интервал времени. Этот интервал времени должен быть осью X графика. В следующем коде$month[0]«это первый месяц по оси X,» $ month [1] «это последний месяц и»$diffyear«это разница между выбранным годом.

$x_scale = array();
$i = $month[0]-1;
$length     = 12 * $diffyear - $month[0] + $month[1];
while($length >= 0){
$x_scale[] = $allmonths[$i];
$i++;
if($i == 12){
$i=0;
}
echo "I : $i";
$length--;
}

Если «$i«был увеличен в 12 раз, $x_scale массив заполнен пустыми элементами. Я не знаю, как я могу решить эту проблему … Спасибо за каждый ответ

0

Решение

Кажется, что значения присваиваются перед условием if. Вы должны написать этот код после условия if =>

  $x_scale[] = $allmonths[$i];

Просто проверьте это и ответьте мне ..

0

Другие решения

хорошо, я решил это!

$x_scale = array();
$i = $month[0]-1;
$x_year = year[0]-2000   //Use the begin year, subtract 2000: 2016 => 16
$length     = 12 * $diffyear - $month[0] + $month[1];
while($length >= 0){
$x_scale[] = $allmonths[$i]."'".$x_year; //adding years to months
$i++;
if($i == 12){
$x_year++;                          //increment year
$i=0;
}
echo "I : $i";
$length--;
}

Теперь каждый элемент массива различен и будет показан на графике!

извините за беспокойство и спасибо за ваш ответ!

0

По вопросам рекламы [email protected]