任意の月の祝日を取得する

PHPで任意の月の祝日を取得する。
とっても手動くさい感じだけど、どうせ祝日の決まりは変わることもあるし
わかりやすくていいかもしれない。
<%nobr%>


<%estag%>
/**
* 任意の月の祝日を取得する
*
* @access public
* @param integer 取得する月
* @param integer 取得する年
* @return mixed
*/
function getHoliday($month,$year = null){
$year = is_null($year)? date(‘Y’):$year;

$array = array(
2007 => array(
1 => array(1=>1,8=>1),
2 => array(11=>1,12=>1),
3 => array(21=>1),
4 => array(29=>1,30=>1),
5 => array(3=>1,4=>1,5=>1),
6 => array(),
7 => array(16=>1),
8 => array(),
9 => array(17=>1,23=>1,24=>1),
10 => array(8=>1),
11 => array(3=>1,23=>1),
12 => array(23=>1,24=>1)
),
2008 => array(
1 => array(1=>1,14=>1),
2 => array(11=>1),
3 => array(20=>1),
4 => array(29=>1),
5 => array(3=>1,4=>1,5=>1,6=>1),
6 => array(),
7 => array(21=>1),
8 => array(),
9 => array(15=>1,23=>1),
10 => array(13=>1),
11 => array(3=>1,23=>1,24=>1),
12 => array(23=>1)
),
2009 => array(
1 => array(1=>1,12=>1),
2 => array(11=>1),
3 => array(20=>1),
4 => array(29=>1),
5 => array(3=>1,4=>1,5=>1,6=>1),
6 => array(),
7 => array(20=>1),
8 => array(),
9 => array(21=>1,22=>1,23=>1),
10 => array(12=>1),
11 => array(3=>1,23=>1),
12 => array(23=>1)
),
2010 => array(
1 => array(1=>1,11=>1),
2 => array(11=>1),
3 => array(21=>1,22=>1),
4 => array(29=>1),
5 => array(3=>1,4=>1,5=>1),
6 => array(),
7 => array(19=>1),
8 => array(),
9 => array(20=>1,23=>1),
10 => array(11=>1),
11 => array(3=>1,23=>1),
12 => array(23=>1)
),
2011 => array(
1 => array(1=>1,10=>1),
2 => array(11=>1),
3 => array(21=>1),
4 => array(29=>1),
5 => array(3=>1,4=>1,5=>1),
6 => array(),
7 => array(18=>1),
8 => array(),
9 => array(19=>1,23=>1),
10 => array(10=>1),
11 => array(3=>1,23=>1),
12 => array(23=>1)
)
);
return $array[$year][$month];
}
?>
<%/estag%>

<%/nobr%>