Du hast Doch:
$day_count = date( 't', $timestamp );
vor der Schleife über die Tage. Ermittle dort auch die Woche.
$weekNumber = date( 'W', $timestamp );
In der Schleife kannst Du auch einfach hochzählen:
for ( $day = 1; $day <= $day_count; $day++, $str++) {
# Montags:
if ( $str % 7 == 1 ) {
$weekNumber ++;
}
…
}
oder meinetwegen Montags die Wochennummer ermitteln.
$str verwendet man üblicherweise für einen String mit äußerst kurzer Lebensdauer. Du solltest einen besseren Name finden, das hilft beim Programmieren.