年と週番号から日付を得る関数ってあるんだろうか。ない。ということでISO 8601準拠で書いた。
public function week_start_date($year, $week_number=1) {
$time = strtotime("{$year}-01-01");
$week = date("w", $time);
if($week>4 || $week==0) {
$time = strtotime("next Monday", $time);
} elseif ($week != 1) {
$time = strtotime("last Monday", $time);
}
$week_number--;
return date("Y/m/d", strtotime("+{$week_number} Week", $time));
}
エラー処理はしていません。関数名も気が利いてないし、ここから週の範囲も得られるようなオプションなど手を加えていこうかな、というところです。