Si es para llenar unos select .. genera tu contador de 1 a 31 .. y compruebas que sea válida (por "calendario") con checkdate(). Si te devuelve "false" ya sabes que no es válida y hasta ahí el mes tiene esos días.
http://www.php.net/checkdate
Un saludo,