Tach!
Es gibt aber 3 Fälle bezüglich eines zur KW gehörigen Jahres:
- das KWJahr ist dasselbe wie das Jahr zum Datum
- das KWJahr fällt in das nächste Jahr (Montag, 31.12.2018 KW 01/19)
- das KWJahr fällt in das vorherige Jahr (Sonntag, 1.1.2017 KW 52/16 )
Ob Dein Algorithmus alle Fälle abdeckt, wäre zu prüfen.
Da muss man bei PHP nichts weiter prüfen, denn date('W') liefert die richtige Wochennummer zu jedem Zeitpunkt, ohne Ausnahmen.
dedlfix.