Ho fatto qke test, sembra funzicare...
function get_intervallo($data_inizio,$data_fine){
$array_data_inizio=explode("-",$data_inizio);
$mm_inizio=$array_data_inizio[1];
$anno_inizio=$array_data_inizio[0];
$array_data_fine=explode("-",$data_fine);
$mm_fine=$array_data_fine[1];
$anno_fine=$array_data_fine[0];
if ($anno_inizio==$anno_fine){
$anni[]=anno_inizio;
if ($mm_inizio==$mm_fine){
$mesi[]=$mm_inizio;
}
else{
for($i=$mm_inizio; $i<=$mm_fine; $i++){
echo "
i".$i;
$mesi[]=$i;
}
}
}
else{ // anni diversi
for($i=$mm_inizio; $i<=12; $i++)
$mesi[]=$i;
for($i=1; $i<=$mm_fine; $i++)
$mesi[]=$i;
}
$mesi=array_unique($mesi);
print_r($mesi);
$result['anni']=$anni;
$result['mesi']=$mesi;
return $result;
}