This might give you a starting point:
$year = 2012;
$startDate = new \DateTime($year . '-03-01');
$startDate->modify('Friday');
echo $startDate->format('Y-m-d') , PHP_EOL;
$endDate = new \DateTime($year+1 . '-03-01');
$endDate->modify('Friday');
echo $endDate->format('Y-m-d') , PHP_EOL;
$interval = new \DateInterval('P1W');
$weekPeriod = new \DatePeriod ($startDate, $interval, $endDate);
foreach ($weekPeriod as $key => $weekDate) {
echo 'Week #' , $key + 1 , ' starts on ';
echo $weekDate->format('Y-m-d') , PHP_EOL;
}
You can use this to build an array, that you can then use as a lookup