Ho elaborato questa funzione. Occhio che i mesi sono compresi (se gli passi "1,3" significa "da gennaio a marzo INCLUSO", quindi tre mesi).
Codice PHP:
function contaMesi($meseInizio, $meseFine)
{
$elencoMesi = array();
if($meseFine < $meseInizio){
for($i=$meseInizio;$i<=12;$i++){
$elencoMesi[] = $i;
}
for($i=1;$i<=$meseFine;$i++){
$elencoMesi[] = $i;
}
}
else{
for($i=$meseInizio;$i<=$meseFine;$i++){
$elencoMesi[] = $i;
}
}
$totaleMesi = count($elencoMesi);
if(in_array(8, $elencoMesi)){
$totaleMesi--;
}
return $totaleMesi;
}
echo 'Numero mesi da gennaio a luglio: '.contaMesi(1,7).'<br />';
echo 'Numero mesi da gennaio a agosto: '.contaMesi(1,8).'<br />';
echo 'Numero mesi da gennaio a settembre: '.contaMesi(1,9).'<br />';
echo 'Numero mesi da luglio a settembre: '.contaMesi(7,9).'<br />';
echo 'Numero mesi da dicembre a gennaio: '.contaMesi(12,1).'<br />';
echo 'Numero mesi da dicembre a luglio: '.contaMesi(12,7).'<br />';
echo 'Numero mesi da dicembre a settembre: '.contaMesi(12,9).'<br />';
echo 'Numero mesi da settembre a febbraio: '.contaMesi(9,2).'<br />';
echo 'Numero mesi da marzo a ottobre: '.contaMesi(3,10).'<br />';