Yes there is. Use date/stftime in combination with mktime to create a timestamp within the desired month.
Strftime is cool because it will read the locale setting, and output your written date parts in that specific language.
For example:
$time = mktime(0, 0, 0, $monthNumber);
$name = strftime("%b", $time);
Now lets say you want your short month names in german language you call setlocale before calling strftime:
setlocale(LC_TIME, 'de_DE');