avevo anche io lo stesso problema e trovato una funzione su php.net che sembrava fare al caso mio. La funzione, data la settimana (e l'anno, ovviamente) ti trovava i due esremi della settimana stessa, quindi passandogli 10 mi ritornava un array di 2 elementi: 06/06/2006 e 12/03/2006
L'ho modificata un attimino in modo che mi ritornasse solo il primo: (qui per comodità ti ho lasciato anche il secondo)
ho modificato un attimo la formattazione dei dati in uscita in modo da averli come faceva comodo a me, non mi ricodo com'era l'originale 
codice:
function findWeekPeriod($week, $year)
{
$x = 0;
$aPeriod["start"]=date("d/m",mktime(0,0,0,1,1+$week*7+$x-6,$year)); // primo giorno della settimana
$aPeriod["end"]=date("d/m",mktime(0,0,0,1,1+$week*7+$x,$year)); // ultimo giorno della settimana
return $aPeriod["start"];
}
poi nel mio script avevo una sola chiamata alla funzione per calcolarmi il lunedì:
codice:
$lun=findWeekPeriod($settimana,date("Y"));
// e poi dal lunedì mi ricavavo il mese e la settimana così:
list($dstart,$mstart)=explode("/",$lun);
// ed ecco gli altri giorni:
echo date("d/m",mktime(0, 0, 0, $mstart, $dstart+1, date("Y"))); //martedì
echo date("d/m",mktime(0, 0, 0, $mstart, $dstart+2, date("Y"))); //mercoledì
echo date("d/m",mktime(0, 0, 0, $mstart, $dstart+3, date("Y"))); //giovedì
echo date("d/m",mktime(0, 0, 0, $mstart, $dstart+4, date("Y"))); //venerdì
echo date("d/m",mktime(0, 0, 0, $mstart, $dstart+5, date("Y"))); //sabato
spero ti possa essere utile