Я инициализирую массив со всем месяцем в качестве элементов:
$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
массив заполнен пустыми элементами. Я не знаю, как я могу решить эту проблему … Спасибо за каждый ответ
Кажется, что значения присваиваются перед условием if. Вы должны написать этот код после условия if =>
$x_scale[] = $allmonths[$i];
Просто проверьте это и ответьте мне ..
хорошо, я решил это!
$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--;
}
Теперь каждый элемент массива различен и будет показан на графике!
извините за беспокойство и спасибо за ваш ответ!