Tach!
Ich hätte mit zig IF-Abfragen eine Prüfung durchgeführt, daher hoffe ich auf euren kreativen Input.
Du hast ein paar Wenns in deiner Aufgabenstellung, also wirst du ohne ifs nicht weit kommen. Vielleicht gibt es irgendeine Lösung ohne sie, aber am Ende muss sie auch verständlich und wartbar sein.
Du kannst auch mit (2×)24 Stunden (besser 2 Tagen (siehe unten)) rechnen. Vorher müssten aber die Außerhalb-Zeiten auf den nächsten Tag 8 Uhr "aufgerundet" werden.
Wenn Uhrzeit > 17 dann Tag++; Uhrzeit=8 Uhr
Wenn Uhrzeit < 8 dann Uhrzeit=8 Uhr
- 2 Tage
Wenn Wochentag==Sonnabend dann Tag+=2
Wenn Wochentag==Sonntag dann Tag++
Beachte, dass nicht alle Tage 24 Stunden haben, also besser strtotime(...+2 days) als +2×Tagesminuten.
dedlfix.