PHPで特定の年月の最終日(末日)を取得する場合、cal_days_in_month関数を使用します。
使用例:
[php]
$num = cal_days_in_month(CAL_GREGORIAN, 4, 2011);
echo "2011年4月の最終日は{$num}日です";
[/php]
この関数は、環境によっては使用できない場合があり、Fatal Errorになります。
そのため、多くの環境で安全に動作させたい場合には、この関数をそのまま使用することは
推奨されません。
対策としては様々な方法が考えられますが、個人的には以下のような関数を定義しておくのが
最も分かりやすいと思います。
[php]
if(!function_exists(‘cal_days_in_month’)){
function cal_days_in_month($calendar, $month, $year)
{
if(checkdate($month, 31, $year)) return 31;
if(checkdate($month, 30, $year)) return 30;
if(checkdate($month, 29, $year)) return 29;
if(checkdate($month, 28, $year)) return 28;
return 0;
}
}
[/php]