Das ist in ISO-8601:1988 so definiert. Du erhälst immer eine Zahl von 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist.
Du kannst alternativ strftime() mit %W verwenden. Beachte aber, dass du dann für den 01.01.2020 die Woche 00 erhälst, weil es mit dem ersten Montag als erstem Tag der ersten Woche arbeitet.
Außerdem vielleicht noch folgendes:
split() (und die komplette Regex-Erweiterung) ist seit 5.3.0 deprecated. Verwende lieber preg_split oder explode.
Außerdem solltest du mittels date_default_timezone_set() eine Zeitzone setzen, falls date.timezone nicht gesetzt sein sollte.