如何使用overflow/PHP获取数组元素

如何使用overflow/PHP获取数组元素,php,arrays,overflow,Php,Arrays,Overflow,我使用所有月份作为元素初始化数组: $allmonths = array("Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); 我还有一个用户界面,您可以在其中选择时间间隔。此时间间隔应为图表的x轴。在以下代码中,“$month[0]”是x轴上的第一个月,

我使用所有月份作为元素初始化数组:

$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--;
    }
现在,数组的每个元素都不同,将显示在图表中


请原谅我的麻烦,谢谢你的回复

我不明白你的意思?你想要什么?这不对吗?嗯。。。是的,这是对的!现在我查了一下我的x_量表,它是一样的。但我图表的x轴以x_刻度数组中的第12个元素结束。所有被选中两次的元素都不会显示。。。我认为这是框架的问题…它已经是对的,似乎razorflow框架有问题,我正在用它制作图表。但是非常感谢你的支持!