PHP передает массив, созданный в цикле for в функцию jpgraph

У меня есть 3 массива, созданные следующим образом:

$start=2013 ;
$end=2015;

$no_of_bars=$to-$from+1;

$xdata=array();
for($year=$start;$year<=$end;$year++){

     ${"y".$year}=array();
    $i=0;
    $query=mysql_query("SELECT tld_master.location,tld_dose.year, AVG(tld_dose.dose)*4 as avgdose from tld_master left join tld_dose on tld_master.tldno=tld_dose.tldno where tld_master.site='F' and tld_dose.year=$year GROUP BY tld_dose.year, tld_dose.tldno");

    while($result=mysql_fetch_array($query)){

$xdata[$i]=$result['location'];
 ${"y".$year}[$i]=$result['avgdose'];


$i++;
}

    }

Создает три массива y2013,y2014,y2015.

Я должен передать этот массив в jpgrpah для построения групповой панели. Новые объекты бюстгальтера создаются таким образом

$j=0;
for($year=$start;$year<=$end;$year++, $j++){
    ${"plot".$year}=new BarPlot(${"y".$year});

    ${"plot".$year}->SetFillColor($color_array[$j]);

if($year!=$end){$sep=",";}else{$sep="";}
    $plots.="$"."plot".$year.$sep;
    }

Есть три баровых участка сюжет2013, участок2014, участок2015. Все эти три являются массивами. Я хочу передать эти массивы в функцию jpgraph, приведенную ниже:

$gbplot = new GroupBarPlot($plots);

но это не работает. Но если я изменяю его на приведенный ниже, он работает

$gbplot = new GroupBarPlot(array($plot2013,$plot2014, $plot2015));

Я думаю, что во втором массиве передаются в качестве аргументов, где, как и в первом, просто имя массива передается как строка. Как передать массив, созданный внутри цикла for, в функцию jpgraph?

1 ответ

Решение

Не проверено, но попробуйте код ниже.

$j=0;
for($year=$start;$year<=$end;$year++, $j++){
  ${"plot".$year}=new BarPlot(${"y".$year});

  ${"plot".$year}->SetFillColor($color_array[$j]);


  $plots[] = ${"plot".$year};
}
$gbplot = new GroupBarPlot($plots);
Другие вопросы по тегам